テクノロジー

TypeScriptの危険性 - Qiita

1: yarumato 2025/04/12 23:00

“TypeScriptの最大の魅力は、開発者の補完体験。しかしプロジェクト全体の生産性や開発速度が犠牲になる。 TypeScriptは型の整合性を強く求めるため、変更コストが異常に高くなり、保守困難、システムを硬直化”

2: aarx 2025/04/12 23:22

読む価値なし。あなたの感想ですよねレベルの初学者の喚きだった。代表的な静的型付け言語全てにany相当の機能があるが、それを指して型は全て無駄と言うのかね。こういう奴に限って「型より設計!」って言うよな笑

3: bikeshed 2025/04/12 23:30

何かと思えば id:entry:4761526205388030400 の人の新作。読む価値なし / それはそれとしてTypeScriptが型安全ではないことは理解しておくべき。link: https://mametter.hatenablog.com/entry/2024/10/07/095302

4: onesplat 2025/04/12 23:37

実行時に型が消えるのがダメならC++やRustは一体どうなっちゃうの〜ッ!?

5: nnnmmmlll 2025/04/12 23:45

「スーパーセット」であって「上位互換」ではないってどんな状態なんだろう

6: toro-chan 2025/04/13 00:16

言ってることは全くその通り。TypeScriptではなく設計が品質を決める。そしてTypeScriptはその意味でも強力なツールではなく設計品質を上回ることはない。元が曖昧過ぎるJavaScriptである時点で補助ツールから逃れられない

7: zentarou 2025/04/13 00:50

実行時に型情報が残っていて欲しいとは思うけど、それは安全性というより利便性なんだよね

8: Chron 2025/04/13 01:20

この著者さんについてLaravelの件以外だと、Xで「forEach 不具合 since:2024-11-29 until:2024-12-05」と検索すると「JSのforEach には不具合がある」と言い出してJS界隈が「?」ってなった件が見られますよ。ことの判断は皆様に任せます

9: geerpm 2025/04/13 01:24

JSDocはlinterとかで強制できるのかな?レビューで人力チェックだとちょっと厳しそうだなあ

10: inatax 2025/04/13 02:43

"「スーパーセット」であって「上位互換」ではない"とか"型でバリデーションは出来ない"とかそういうレベルで危険性と言われてもな…。一回言えば済む知識だろそんなものは

11: e1306208 2025/04/13 04:42

こういう情報の非対称性を平気で押し付けてくる人間は信用しないようにしている

12: hirokinko 2025/04/13 05:33

Laravel云々の記事で用語の使い方がめちゃくちゃだった人か。納得……。

13: uehaj 2025/04/13 05:33

知識不足がかなりありますね。言葉の間違いも多い。

14: clairvy 2025/04/13 05:36

良いところと、悪いところがあるのは当たり前なので、他と比較すると良いかも。主語が過激かな

15: radiante 2025/04/13 07:20

根本的にコード書けないタイプのガイジ型エンジニアもamplify使ってたなあ。現代だともっと優れたアプローチがあるというのに、、、 / 型をかけないおじさんが時々こういう病気を発症しがち

16: tor4kichi 2025/04/13 08:54

Adblockのカスタムフィルタにこれを追加するとよい b.hatena.ne.jp##li:has-text(qiita.com/MadakaHeri)

17: ultimatebreak 2025/04/13 08:56

お、新しい宗教か?

18: circled 2025/04/13 09:01

昔から、動的型付け言語の方が試作は早い、静的言語は書きたいコードよりコンパイラ向けの仕事しがち、型安全導入するなら実行時チェックを排除し爆速化とかしないなら苦労の割に合わない、的な議論はあるのよな

19: noname774300 2025/04/13 09:27

“影響範囲が不明確になり、ビルドすら通らなくなる”、“型定義が他のモジュールに波及し、修正が伝播する” は「修正の影響範囲に気づきやすくなる」の間違いでしょ。ていうかビルドが通らなくなるって何。

20: strawberryhunter 2025/04/13 10:05

Laravelの時も書いたけど、プログラマーならこんな文章にするよりも、自分の理想とする言語を作ってはどうか。誰も使わないだろうけど、そのようなスキルがある者として一目置かれることは確実だろう。

21: jintrick 2025/04/13 10:08

極論 vs. 極論 は昔から大好物だ。色々なことが明らかになる。正しいか正しくないかでネットの情報を扱っている大多数の人々には不評みたいだけどなw

22: kakusuke07 2025/04/13 10:56

結論の4つの問題、JSdocにしてもなにも解決してなくて草

23: prograti 2025/04/13 11:06

書かれている内容はTypeScriptからESM + JSDoc + tscに変えることで解決する問題なのかな?具体例を挙げて説明しないと筆者の主張は読者に全然伝わらないような気が。少なくとも自分は全然ピンと来なかった

24: mk173 2025/04/13 11:32

何でもありなJavaScriptをTypeScriptで多少は安全にだったのが、最近はTypeScriptなら安心になってるのか

25: hogetax 2025/04/13 11:47

前回と同じ燃やし方やんw

26: sigwyg 2025/04/13 12:04

結局tsc 使って型チェックするなら、JSに拘る理由が解らない。JSDoc + tscで柔軟性というけど、移行のための一時的措置じゃないなら、anyで脱法してるのと根は同じじゃない?

27: razihai 2025/04/13 14:17

tsの型は言うほど安全じゃない点は激しく同意なんだけど、そこまでボコボコに言うほどかって感じ。なんか思想強えーなぁって思ったわ。

28: fa11enprince 2025/04/13 15:25

使うのが微妙なところだけ、型を手抜きするじゃダメなの?と思った。

29: takashiski 2025/04/13 15:57

提案法は、型注釈をコメントに書いてトランスパイルなしでそのまま動くTypeScriptです。TypeScriptの文法を使わない縛りプレイしてるだけなので、それなら素直にts使ったほうが楽

30: nunulk 2025/04/13 18:01

Amplify のやつはたしかに大変そう(本筋とは関係ないけど blockquote に自分の意見を書かれると一瞬混乱する

31: monorod 2025/04/13 18:14

TS使って30万行ぐらいの規模のコード書いてるけど、TSのせいで書きにくいと思ったことないけどなあ 無駄に複雑な型定義しようとし過ぎてるだけじゃないの?

32: delphinus35 2025/04/13 19:34

ブコメの「JS の forEach の不具合」の話はなかなかすごいな……特に訂正ツイートも無しか。なので記事は未読でブクマ。

33: NOV1975 2025/04/16 13:29

言っていることは全部正しいと思うけど、結論としては「僕達バカだからそんな難しいもの使えません」にしか見えないんだよなあ。