Scribble at 2024-11-29 10:36:22 Last modified: 2024-11-29 18:19:19

添付画像

But Rust is better in the same way that Betamax was better than VHS, Mastodon is better than Twitter, Dvorak keyboards are better than QWERTY, Esperanto is better than English and Lua is better than Javascript: in communication technologies, adoption and critical mass are 90% of the game and the other 10% are bikeshedding, at best. And programming languages are a communication technology, they're means to communicate ideas to other programmers.

And the problem with Rust is that it just doesn't have critical mass and, frankly, I don't think it will ever have. Recently, Linus Torvalds complained somewhere that old C dinosaurs don't want to learn Rust. For higher level stuff (e.g.: web backends) Go offers faster iteration cycles than Rust because it has a gentler learning curve and better compile times. Yes, Rust adoption is rising but competing technologies are also getting better (e.g.: safer C++ with better linting tools, JIT JavaScript and WASM engines getting faster) or rising faster (Go).

And then there's the elephant in the room: Rust is almost irrelevant for finding jobs. The majority of the Rust programming jobs asks primarily for deep knowledge in specialized technologies: cryptocurrencies/blockchain, finance trading, machine learning/data analysis, obscure network protocols, cybersecurity, etc. In those positions, Rust expertise is, at most, a "nice to have". My point is that you'll never be hired for knowing Rust well but for knowing well the domain.

Goodbye, Rust. I wish you success but I'm back to C++ (sorry, it is a rant)

Rust をこれから丁寧に勉強しようという僕らにとっては考えさせられる話ではあるけれど、彼が指摘しているポイントに限って言えば、僕には何の懸念もない。

第一に、僕は Rust で職が見つかるとか見つけたいとは思わないから。Rust が使えなくても、僕のように有能な人間は還暦が近くとも他に採用してもらえる技能や経験や知識があるし、給料に問題がなければアルバイトでやったことがある鉄工所の職人をやるのもいいし、サウナでマッサージ担当のおねーさんを管理する担当者に戻ってもいいし、食パン工場の包装オペレータを再びやってもいいのだ。金さえ稼げるなら、僕は仕事内容とか職位に拘泥なんてしないし、最高学府で学んでいようと「それに見合う仕事」などという妄想は抱えていない。

そして第二に、Rust がメジャーな開発言語として普及するかどうかは、僕にとってはどうだっていいことである。処理系なりコンパイラーに、言語の仕様なり実装として致命的な欠陥があるならともかく、いまのところ足し算を掛け算と間違えるようなバグはないわけで、僕自身の生活なり実務なり趣味に使える道具でありさえすれば十分だ。Linux のカーネルを Rust で書き直そうとできまいと、僕にはさほど関係はない。

あと、既に広く普及している C++ と比較して Rust が普及するかどうか分からないという理由でコミットしないというのは、まぁフェアとは言えないよね。過去と未来を比較すれば、常に未来は複数の可能性があるために、リアリティーという基準では常に負けるしかない。しかし、そもそもコミットメントとはそういうことが分かったうえでやるものであり、学問であろうとシステム開発であろうと、あるいは女子高生をナンパしてホテルに連れて行くようなチンピラの思考においてすら、リスクが単にあるというだけで止めるようなことはないのである。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook