はてなキーワード: 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?なにそれおいしそうだね。
・ハード系だったりファームウェア系だったりコンパイラ系は何もわからない。わかるようにはなりたい。
全部中途半端だな、、、
関数型プログラミングが『銀の弾丸』であるという非常識な常識2022のなにがダメなのかわからない人が多いようなので、個人攻撃をまったくせずにダメ出しする。
まず言っておくが、私はあの記事をほとんど読んでいない。しかし、簡単にダメ出しできる。
記事内を「末尾再帰」で検索してみよう。1か所もヒットしない。「末尾」でも1か所もヒットしない。そう、あの記事はめちゃくちゃ長いのに末尾再帰に触れていないのである。では「再帰」ならどうだろう。11か所ヒットした。しかし、具体的な再帰のコードはまったくない。長い記事内にあれだけ多数のコードを書いているにも関わらずである。
「末尾再帰って何?」とか「再帰ってそんな重要なの?」と思う読者も多いだろうから、末尾再帰の重要さだけ説明しよう。
あの記事は、forやwhileを使わないプログラミング手法を前提に書かれている。記事内を「制御」とかで検索すればわかる。
末尾再帰はforやwhileの代わりになるもので、そういったプログラミング手法には欠かせない。forもwhileも末尾再帰も使わないとなると、ツリー探索などのアルゴリズムを書くことが困難になる。(こういったことが苦手な私に思いつく他の方法は、setIntervalを無理やりforループの代わりにするくらい)
そもそも、ほとんどのJavaScript実行環境は、末尾再帰をサポートしていない。つまり、JavaScriptはforやwhileを使わずに込み入ったプログラムをまともに書けるような言語ではない。あの記事に書いてあるようなことをする言語ではないのである。私は別にそれでもいいのでTypeScript使いまくってるけど。classとか好きだし。
あの記事がJavaScriptを使っている理由は、JavaScriptが人気だからだろうか?もしそうだとしてもダメである。あの記事は「JavaScriptは、ほどんどの実行環境が末尾再帰をサポートしていない、このプログラミング手法に適していない言語である」といったこと自体に触れていない。人気のある言語を使いたいなら、他の末尾再帰をサポートしている人気言語を使えばいい。
ろくに読まなくても、他にもダメ出しできる。
関数型プログラミングで気になるのは、言語にもよるが実行速度やコンパイルにかかる時間である。銀の弾丸と言うからには、C言語を使うような場面でも銀の弾丸でなければならない。(Haskellの実行速度はC並に早くできるそうだが)
記事内を「パフォーマンス」で検索したところ、実行速度に関する箇所がヒットした。
記事の実行速度関連の内容を要約すると「最近はAWS・Azure・GoolgeCloudPlatformなどを使って並列計算するので、昔ながらの命令型の順次実行は不適切である」となる。私が嘘を言っていると思うなら、記事内を「パフォーマンス」とか「AWS」で検索してヒットした箇所の前後を読んで欲しい。そんなに長くはない。
営業部隊が綺麗なオフィスで日本の大企業を模したヌルい仕事をしている方(サステナビリティとかエコとかロハスとかやってる方)か、
受託の(日本の定義での)システムインテグレータ(前に変な女子社員が不満ぶちまけたかで炎上した)の二つなので、
知らんけど
そもそも、MSNは日本側の人間がネトウヨ系や下品なスポーツ新聞系のニュースが好みだっただけだと思うから、
MSNのニュース内容が人道的にも酷いとか、そういう文句は米国側に言わないと駄目だと思う
マイクロソフトは現地の文化を重視するので、日本のマイクロソフトは日本企業の文化なので、
事なかれになったり、日本の企業の良い点、悪い点を踏襲していて、良くも悪くも外資ではないので
知らんけど
アレを読むぐらいならGoogle Newsの日本語のほうがまだマシだし、
自分はGoogle Newsの日本語の内容(日本のメディアのニュース集めただけ)も酷いのであまり読まないけど、
ローカルニュースだけは近所の情報(イベントとか店が潰れて新しい店ができるとか)が集まるのでチェックしてる
自分はMSNを埋め尽くす芸能人のゴシップなんかより、近所においしいパン屋ができたみたいな情報を重視するので…
MSNのニュースの表示とかEdgeがリセットされる度に最初に非表示にする
そもそもタブを開く度にニュースが表示されるような機能がウザいし必要ないわけだが、
結局、あまり読んでる人がいないので惰性で続けてる、野放しになってる感が否めない
ついでに言うなら、Bingの精度も酷いのにEdgeが検索エンジンをBingに変更したがるのも不愉快
ただ、Bingマップに関してはGoogle Mapsよりライセンスが緩かったので、
GIS関連で重宝していたときは昔あったけど、最近はどうなのか知らんけど…
営利の企業が管理していてOpenStreetMapよりは出来が良くライセンスの緩い地図サービスがあると助かる
よく知らんけど
ついでについでに言うなら、Visual Studio 2022は好印象で使ってはいるし、
近年のGitHub買収に賛否両論あるが、私は賛成派だし、WSLに関しても今の所は好印象に思っている
Macには20年近く付き合ってほとほと呆れたので、MacよりはWindowsを選ぶし、
WindowsよりはUbuntuやDebianを選ぶかもしれないけど、
そんなにWin32を嫌いになれないというか、何十年も見てれば慣れたというか、美人は3日で飽きるというか
あと、C#やTypeScriptは大好きです
というわけで、Microsoftという会社は好きだけど、マイクロソフトには???と思うことが多いので、
おわり