Turbo 8、TypeScriptのサポートを終了
(world.hey.com)Ruby on RailsやBasecampで知られる37signalsの共同創業者兼CTOであるDaniel Heinemeier Hanssonが、現在開発中のTurbo WebフレームワークでTypeScriptのサポートを削除すると明らかにしました。
主な理由として、型宣言がコードを汚染し、型を宣言してTSコンパイラが介在する一連のプロセスが楽しくなかった点を挙げています。
TypeScriptからJavaScriptへ移行したことは前例のない出来事であり、プログラマーコミュニティで大きな波紋を呼んでいます。
37signalsの製品である一方、外部からの貢献も受け付けるオープンソースプロジェクトであるにもかかわらず、外部コントリビューターとの十分なコミュニケーションなしにTypeScriptを削除するPRが提出され、2時間で電撃的にマージされた点も議論を呼んでいます。
7件のコメント
JavaScriptはprototypeベースの言語だから、その哲学を無視して、発展していくTypeScriptを排除しようとしているのではないかと……
https://medium.com/@limsungmook/…
昨日に続いて、また少し煽り気味の投稿が上がってきましたね。
https://world.hey.com/dhh/…
誰なのか知らなかったのですが、RoRを作った人だと聞いて、TypeScriptを嫌っていても不思議ではないなとは思いました。
RoRを深く見たわけではありませんが、Open Class の概念を考えると、型とは相性がよくないと思うんですよね。
TypeScriptがメインの個人的な経験として、Java(Kotlin)でいちいち型クラスを作っていくのがものすごくもどかしかったのですが、あの人にとってはTypeScriptもそうだったのかな、くらいの感想です。
それでも、この一連の流れはどうしても納得できませんね
うーん……PRが2件あるのを見ると、オープンソースプロジェクトとは言い難いレベルの決定ですね。
リポジトリの所有者が議論もなく決定し、既存のリポジトリで行われていたPR手順を無視してそのままマージしてしまったので……
あまり見栄えのいいものではありませんね。
十分な説得のプロセスがあったならともかく、オープンソースプロジェクトとしての信頼性を捨てる行為だと思います。
Turboの型に依存している他のプロジェクトの立場からすると、アップデートしたら一夜にしてすべての型が壊れてしまう問題が発生するわけですから。
https://devclass.com/2023/05/…
最近、SvelteがTypeScriptからJavaScript(+JSDoc)に移行したことがありましたね。
SvelteはJSDocの型チェック機能を使っていますが、それはTSに依存しているものなので、型安全性そのものを放棄したわけではありません。しかも型定義も提供していますし。TurboのようにJSDocも
d.tsもなく、全部ゴミ箱に放り込んだのとは状況が違うように思います。ああ、そうですね。ちょうどあのPRのリンクを見ても、関連する言及が多かったです。