はてなキーワード: TypeScriptとは
TypeScriptで意味不明なバグが発生してなんだこれはと掘り来んでいったらasを使って型に嘘をつかせてる糞コードにたどり着いたときも心が怒りで満たされて豊かになったで
TypeScriptが使われてるプロジェクトだったから仕方なく使った
面倒な型を書いてる分、色々楽になることを期待してたが思ってたのと違った
JavaScriptだとある場所の値がなにかわからない
コードを追うのも大変だからbreakpointの設置かdeubugger文を置いてたりして、値とスタックトレースを見てみる
TypeScriptだと静的だからクラス名がわかってすぐにどういう値になるかわかると思ってた
だが実際には型は具体的なクラス名じゃなくてインターフェース(もしくはtype)
それだけだと◯◯ってプロパティがあるという情報はわかっても具体的な値まではわからない
最低限◯◯があるだけで書いてないけど実は✕✕もある可能性はある
実装を見るにはそのインターフェースを実装するクラスを探すしか無い
ある程度大きいプロジェクトなら多数見つかるし、呼び出し場所を見てコードを追わないと実際にどれなのかはわからない
結局breakpointかdeubggerを使ってどんな値なのか見てる
それってJavaScriptと一緒
全然楽にならない
あとは補完がちょっと便利になるくらいだけど、JavaScriptだって静的解析をある程度やってくれるし補完はそこまで便利になった感を感じられてない
TypeScriptって静的型付け言語やってるとなんてことはないのばっかりだけど
動的型付けばっかやってた人には馴染みがなさすぎるのでは?
JavaScript → モダンフレームワーク→ Typescript
の学習ってかなりキツそう。特に初心者からのロードマップがイメージできない。
Javaメインの開発やってた人より。
これ今見てたんだけど、Dart不評だよね。
https://b.hatena.ne.jp/entry/s/www.publickey1.jp/blog/22/flutter_3fluttermacoslinuxmac.html
TypeScriptやJavaの方が良いみたいな感じに言われてるけど、そんなにあかんか?
どこがそんなにあかんのや?
TypeScriptなんて、JavaScriptで書いておいて拡張子だけ ts に変えればいいだけじゃないの。
そりゃ、TypeScriptの全機能を使うのは無理かもしれんけどさ。
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1397787.html
https://2022.pycon.de/program/SBCNDY/
Ruby on BrowserとかPython 3.11 in the Web Browserとか
そういうの求めてないんだよなあ
こいつらよりTypeScriptの方が100万倍優れてるから
https://www.publickey1.jp/blog/22/javascripttypes_as_commentsjavascripttc39.html
Javascriptが登場したころはVBでさえ、型宣言は省略せずにしっかりしようって言われてたのに、その後Perl、Javascript、Ruby、PHP、Pythonなど、動的型の言語が広まってしまう。
その後に一部で関数型の言語が流行ったり、Rust、Go、TypeScript等が影響力をもって、JS,Ruby,Pythonでも型チェックのしくみを取り入れようという動きがでてくる。
・機械工学は大学で学んだ。機械系4力学のさわりだけなら大体やったがもう忘れている。
・切削加工はけがき、フライス盤、ボール盤、くらいならできるが複雑な形状は作れる気がしない。そういえば旋盤は使わなかった。耐久性を考えなければ3Dプリンタでなんでも作れるらしいが、3Dプリンタは触ったことがない。
・CADは大学の演習でSolidWorksを触った程度。もうすっかり忘れている。手書きの製図とかは調べて思い出せば簡単な形状ならできるかもしれない。
・シミュレータはANSYSをマニュアル通り触った程度。動力学解析とか連成解析とか仕組みは全くわかっていない。
・電気工学はだいぶ勉強不足。簡単な回路図はチップの製品情報を睨めっこしながらINとOUTと接地をどうすればいいかくらいはわかったが、複雑なものになるとダメ。ArduinoとRasberryPiは買ってみたが埃かぶっている。論理回路の読み方はすっかり忘れているが調べれば思い出せると思う。
・化学系は全くの無知。大学受験で知識は止まっている。物性物理的なところも無知。
・数値計算はPythonやMatlabでちょっとできる程度。ライブラリを使った行列計算や簡単なニュートン法くらいなら書けるが、精度や速さが必要だったり複雑になるとダメ。解析は微分積分や常微分方程式を調べて思い出せばできる程度。測度論とか特殊な積分とかいわゆる大学数学的な道具が必要になる解析はできない。
・競技プログラミングはちょっとかじったがやめてしまった。むずかしすぎた。
・機械学習や統計はなんとなく知識はついているが、手を動かして何か作ったことはない。この前統計検定1級落ちた。
・バックエンドはSQLをそれなりに書いてとりあえず動くものなら書ける程度。可用性とかパフォーマンスとか考えられるレベルではない。JavaはJavaEEを横展開的に書いた程度。理解できている自信はない。保守性高めたりデザインパターン的に綺麗な書き方とかできない。C++は一瞬だけ触ったことがあるが、環境構築ハマった&謎のSegmentation Faultで苦手意識を残したまま。Go?Rust?なにそれおいしそうだね。
・クラウドはAWSをマニュアル通りに使っている程度。1から設計なんてできない。なのでAWSのソリューションアーキテクトを勉強中。AzureやFirebaseは触ったこともない。
・ネットワーク系とかセキュリティ系は全く勉強不足。応用情報をギリギリ合格できる程度の知識しかない。わかるようにはなりたい。
・フロントエンドはFlutterを勉強中。Flutterむずかしい、どんな言語でもそうだけどチュートリアルから業務レベルまでの乖離がありすぎてよくわからない。javascriptはjQuery一強時代にちょっと書いた程度。VueとかReactとかなにもわからない。TypeScript?なにそれおいしそうだね。
・ハード系だったりファームウェア系だったりコンパイラ系は何もわからない。わかるようにはなりたい。
全部中途半端だな、、、
俺はrbsの将来性に大いに疑問を持っている
@soutaroが倒れればすべて終わりである
https://github.com/ruby/rbs/pulse/monthly
https://github.com/sorbet/sorbet/pulse/monthly
当然開発者が少ないのでさばけるissueもpull requestも少ない
俺はこれを見てTypeScriptとFlow Typeを思い出した