⇧ お金の問題に行き着く感じですかね...
う~む、
⇧ 妥当な予算を研究に回せているんだろうか...
話は変わりますが、
⇧ 22年が経過したのか...
アメリカがだいぶ叩かれてるけど、自爆テロを計画・実行した輩が諸悪の根源であることに変わりはない気はするが、未だ真相は闇の中なんかね?
DHH(David Heinemeier Hansson)、TypeScriptやめるってよ
見出しは、
桐島、部活やめるってよ (本編BD+特典DVD 2枚組) [Blu-ray]
⇧ へのオマージュですが。
By the way、ちょっと前にTwitterで話題になってましたが、
⇧ まとめてくださってる方がおられました。
そも、DHH(David Heinemeier Hansson)とは何者?
デイヴィッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson、1979年10月15日 - )は、デンマーク出身のプログラマ、ソフトウェア技術者、経営者、著作家、カーレーサー。Webアプリケーションフレームワーク「Ruby on Rails」の作者。Basecampの創設者、最高技術責任者(CTO)。通称として「DHH」と表記されることが多い。
⇧ Wikipediaさんによりますと、「Ruby」のフレームワークである「Ruby on Rails」の生みの親ですと。
TypeScriptをやめた対象のプロジェクトは「Turbo」というらしい。
TurboはRailsのviewでSPAを書くための仕組みです。https://turbo.build/とは別。
⇧ サーバーサイドHTMLテンプレートベースで「SPA(Single Page Application)」が実現できるものらしい。
8617行のTypeScriptがJavaScript化された。(Sloc 便利)
⇧ なかなかの決断ですな。
一方、RailsのviewでSPAを書いているアプリケーション開発l=Turboユーザー当事者はviewテンプレートと向きあったりwebpackやesbuildを通じたアセット管理をしているだけで、Turboのインターフェイスをコードから直接呼び出すようなことはない。
なのでTurboの中身がJavaScriptになったことでアプリケーション側ではひき続きTypeScriptで書くことができる(と言ってもTurboを使っている時に主に書くのはHTMLとRubyだが)
⇧「Turbo」を利用する側は、これまで通りの使い方で問題ないらしい。
TypeScriptの型の定義って複雑で難読なものも出てきますしな...
メジャーなプログラミング言語の年表が公開されてるっぽく、
⇧ 元は「O'Reilly」が作成していて更新が止まっていたものを、有志の方が更新を続けてくださっているようです。
2023年9月11日(月)時点では、
⇧ 上記サイト様でメジャーなプログラミング言語の年表が確認できるのですが、更新者様の中では「TypeScript」はプログラミング言語として認めていないのか年表の中に「TypeScript」は見当たらず。
「TypeScript」嫌われてるなぁ(笑)。
一応、Wikipediaさんの情報だと、
TypeScript はマイクロソフトによって開発され、メンテナンスされているフリーでオープンソースのプログラミング言語である。TypeScriptはJavaScriptに対して、省略も可能な静的型付けとクラスベースオブジェクト指向を加えた厳密なスーパーセット(既存のものを全て含んだ上でより機能が拡張されている上位互換となるモノ)となっている。
⇧ プログラミング言語って扱いですと。
まぁ、話が脱線しましたが、プログラミング言語を大きく分けると、
- 静的型付け言語
- 動的型付け言語
の2つに分類されるっぽいのですが、「TypeScript」は「静的型付け言語」に該当しますと。
で、おそらく、「TypeScript」が嫌われる理由としては、
- 型の定義が複雑になり過ぎて手に負えなかったり、適切な型が分からないケースが起こり得る。
- 結果、any型で妥協せざるを得ないケースが出てきて、予期しない型も許容せざるを得ない状況が起こり得る。
って感じなんですかね。
まぁ、Javaとかでも、Object型で解決せざるを得ない時があるからなぁ...
結局のところ、中途半端になりがちってところが「TypeScript」が忌避される理由なんですかね?
⇧ 上記でサイト様でも仰られていますが、「TypeScript」の型の定義にかかるコストがネックというのは肯ける。
まぁ、そもそもとして、JavaScript が、
⇧ 摩訶不思議なコーディングされることもあって、余計に、型の定義とかで足踏みさせられる、ってのもあるんかね。
「TypeScript」の型の設計の問題なのか分からんのだけど、「型パズル」みたいと見なされてしまうような型の定義が起こり得るのが問題の気もするのだけど。
「TypeScript」が公開されたのが、2012年10月らしいので、今現在が2023年9月なので、10年以上は経過してることになるんだが、もう少し型の定義について何とかならんもんか...
何やら、
⇧「ECMAScript」で「静的型付け」の提案を検討中らしい。
PHPやPythonも「静的型付け」を使えるようにしてきたから(実際に活用されているのかは不明)、いよいよJavaScript でも「静的型付け」が導入されていくんだろうか?
まぁ、ユーザーが使い易い仕様にしてくれると嬉しいよね。
とりあえずは、「TypeScript」を使う場合は、「any型」で妥協せざるを得ない状況を許容していくしか無い感じなんかな...
ちなみに、
⇧ 上記サイト様だと、「any型」は使用を避けるべき禁じ手扱いとなっておりました。
適切な型の定義が分からずエラーを解決できないから「any型」を使わざるを得ないわけで、誰も好き好んで「any型」を使ってるわけではないと思うんだけどな...
う~む、
⇧「VS Code(Visual Studio Code)」の拡張機能の「Pretty TypeScript Errors」とかを導入すれば、エラーを解決しやすくなるんかな?
まぁ、フロントエンドを学習してる余裕が無いんだけどね...
毎度モヤモヤ感が半端ない...
今回はこのへんで。