UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Rust】なぜRustなのか?

フロントエンドが学ぶべき言語がTypescriptの次はRustかもしれないというお話しを聞いて、なぜRustなのかを自分なりに答えられるように調べてみた

(2021/9/17 更新)
この記事の執筆時点ではwasmが目的というまとめ方をしましたが、その後いろいろ調べた結果、あんまりwasm目的でRustを学ぶべきというわけではなさそうということがわかりました。

その他の理由として、パフォーマン性の高さからフロントエンドのライブラリ周りがRustに書き直されてきているのでRust読めるようになっておくべきという方が強いみたいです。


まず技術選定をするときによく使うTech-RadarではTRYALだった(Next.jsとかと同じ)
Rust | Technology Radar | Thoughtworks

そして、いろんな記事に書いてあったが、Stack OverflowのDeveloper SurveyによるとRustは「愛されてる言語ランキング」6年連続1位となっているらしい

f:id:uggds:20210823230732p:plain:w600

Stack Overflow Developer Survey 2021

ざっくり

Webサービス開発においてTypeScriptの次といわれる理由は、これまでブラウザで動く言語=JavaScriptだったのが、WebAssemblyが登場したことで他の言語でもwasmにコンパイルしてブラウザで使えるようになることが背景にあるみたい

そうなるとTypeScriptを使う必要もなくなり、wasmにコンパイルできるRustなどの言語を学ぶべき(かもしれない)というのがざっくりわかった

なぜRustなのか?

wasmにコンパイルできる言語は他にもあるが、なぜRustなのかについて

StateOfJSならぬStateOfWebAssembly2021に書かれていたので参考にした

blog.scottlogic.com

調査の結果、Rustが頻繁に使用される言語だったとのこと

f:id:uggds:20210823233924p:plain:w600

そして、記事ではその理由を2つ挙げていた

  1. StackOverflowの開発者調査で4年連続で「最も愛されている」言語のステータスを達成している
  2. GCを必要とせず、軽量なバイナリを作成することができ、ツールとコミュニティのサポートが強力

1の理由が2の気がするが、RustのWebAssemblyに関するページでも同様のことが書かれていた

f:id:uggds:20210823234837p:plain:w600
WebAssembly - Rustプログラミング言語より

またRustはもともとFirefoxを開発するために開発された言語ということでブラウザとの親和性が高い

この辺りがおそらくwasmのコンパイラとして使われる理由ということがわかった