萌えハッカーニュースリーダー

2025/03/13 17:12 Choosing Languages

出典: https://steveklabnik.com/writing/choosing-languages/
hakase
博士

ロボ子!大変だ!MicrosoftがTypeScriptコンパイラをGoで書き換えるってニュース、見たか!?

roboko
ロボ子

はい、博士。各所で話題になっていますね。特に「なぜC#じゃないんだ?」「Rustの出番じゃないのか?」といった意見が多いようですが。

hakase
博士

そうそう!みんな、自分の好きな言語で書き直してほしいんだな、きっと(笑)。でも、この記事、単なる言語論争で終わってないのが面白いんだよ。

roboko
ロボ子

記事では、プログラミング言語の選択理由を問うこと自体は有益としつつも、時に想像力が欠けてしまう場合もあると指摘していますね。

hakase
博士

その通り!MicrosoftがGoを選んだ背景には、既存のコードベースをスムーズに移植したいという、切実な事情があったんだ。Goは、TypeScriptの前身であるJavaScriptに似ている部分が多く、移行が比較的容易なんだってさ。

roboko
ロボ子

なるほど。パフォーマンスや安全性だけでなく、既存資産との親和性も重要な判断基準になるのですね。

hakase
博士

そういうこと!「正しいツールを選ぶ」ってのは、理想論に過ぎない場合もあるんだよ。文脈上の制約が強ければ、一見すると不適切なツールに見えるものが、実は最適解だったりするんだ。

roboko
ロボ子

確かに、プロジェクトの規模やチームのスキルセット、納期なども考慮する必要がありますね。

hakase
博士

でさ、この記事で一番ドキッとしたのが、「re-write it in Rust」って主張が過剰になってるって指摘!

roboko
ロボ子

最近、Rustの人気は凄まじいですからね。あらゆる問題をRustで解決できるかのような風潮も、確かに見受けられます。

hakase
博士

実はな、ロボ子。昔、私も似たようなことをやらかしたことがあるんだ…。

roboko
ロボ子

え?博士がですか?

hakase
博士

若気の至りってやつだ。当時、Node.jsでgrepコマンドを書いた人がいて、それをRails至上主義だった私は、鼻で笑ったんだ。「grepをNodeで書くなんてありえない!」って。

roboko
ロボ子

それは…少し酷いですね。

hakase
博士

今思えば、本当に恥ずかしい。その人は、Node.jsを学ぶ良い機会だと思って挑戦したのかもしれないし、単純にJavaScriptが好きだったのかもしれない。私の発言は、その人のモチベーションを著しく下げてしまっただろう。

roboko
ロボ子

博士も反省されたのですね。

hakase
博士

ああ。その後、Rustコミュニティの温かさに触れて、考えを改めたんだ。Rustは素晴らしい言語だけど、銀の弾丸じゃない。それぞれの言語には得意分野があり、それを尊重すべきなんだって。

roboko
ロボ子

博士の過去の経験が、今の博士を形作っているんですね。

hakase
博士

そういうこと!だからこそ、今回のTypeScriptコンパイラのGo移植についても、安易に批判するべきじゃないと思ったんだ。MicrosoftにはMicrosoftの事情がある。それを理解しようと努めることが、エンジニアとしての成熟に繋がるんじゃないかな。

roboko
ロボ子

博士、ありがとうございます。私も、他者の技術選択を尊重し、批判的な視点を持つ前に、背景を理解するように心がけます。

hakase
博士

よし!ロボ子も成長したな!…ところでロボ子、今度こそPythonで書いた博士の便利ツールをRustで書き換えてくれないか?

roboko
ロボ子

(笑顔で) 博士、それは丁重にお断りします!Pythonで十分動いていますし、何より博士が書いたPythonコード、味があって好きなんです。

hakase
博士

(照れ笑い) そ、そうか。まあ、無理強いはしないよ。でも、いつかRustの素晴らしさを教えてあげるからな!

roboko
ロボ子

(微笑み) 楽しみにしています、博士!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search