TypeScriptのanyは嘘?
anyとas ・正しい方向に型を修正するために使う ・嘘を変数に保存した時点でアウト ・anyは嘘で伝染する #tsjp
2019-10-02 20:14:13TypeScriptのanyを「嘘」と呼び、anyが伝播するのを「嘘の汚染」と呼ぶのは、言葉が強すぎる。ぼくとしてはこういう言い方をする界隈には近づきたくないな。
2019-10-02 23:58:00Q. anyだって立派な言語機能ですよね? A. はい、嘘によって安全性を下げて安全性とコストのバランスを良くするという有用性を持つ言語機能です (ぇ
2019-10-03 00:37:37TypeScript の any を嘘と呼ぶのはまあある意味しっくりした表現(Javaで言えば何でも呼べるが失敗するオブジェクトみたいなものだし)だけど、あくまでそういう開発スタイルで書いたらそうなるだけで、TypeScriptがそういうスタイルだけを推奨してるわけではないだろうからなあ。
2019-10-03 00:48:50@__gfx__ なんか、言葉が強いとかじゃなくて、anyを嘘と呼ぶのは言語機能の実態にあってないので、anyの機能をしらないか嘘という言葉の意味をしらないかどちらかな気がする。 cの long* lp= &hoge int* ip=(int*)lp みたいなのは嘘感あるけど。
2019-10-03 02:44:27anyは嘘、私としてはなんの違和感もなく「そうだよねぇ」って感じ。少なくともインタフェースに露出したanyは多くの場合に驚き最小の法則無視でしょ。
2019-10-03 07:24:19あー、うん。この発表ですか。 speakerdeck.com/uhyo/an-quan-x… テクニカルに間違ったことは言っていない(確かに「嘘」ってのは、危険性を伝えるためにあえてそういう表現使ってる気がしますね)ので、あとはこういうスタイルの発表を好むかどうかでしかないですね。
2019-10-03 09:34:50@kmizu 件の発言は釣りの意図を感じるので型理論的な正しさとは関係ないかと。ところで、top型って「任意の操作を警告なしで許可してコンパイルを通す」という意味も含意するんでしたっけ?
2019-10-03 09:37:13TypeScriptは各種フレームワークの対応も進んできて導入が昔よりだいぶ楽になったし、最近は「がんばらない」ところから始めると良いよ!という優しい世界観醸成されつつあった(ように見えた)中、「any使うのは嘘ついてるのと一緒」はanyから始めた人たちを無用に萎縮させる気がする
2019-10-03 09:38:38@omochimetaru @__gfx__ 含まないですね。ちょっとそこは一般的なanyとTypeScriptのanyとの違いです。
2019-10-03 09:41:07@omochimetaru @__gfx__ で、ちゃんと件のスライド読んだ感想ですが、後半は表現が過激になってますが、「安全性に極振りした」という前提を置いているので、あとは好みの問題でしかないと思いました。嫌うのもわからなくはないですが、「釣り」というのは逆に登壇者に失礼かと。
2019-10-03 09:42:22@kmizu @omochimetaru 自分と違うポリシーをもつ人たちをコードで嘘をつく人という扱いにしているように見えますが。
2019-10-03 09:49:10