Rustを始めるにあたってどのような言語であるかを紹介します。
Stack Overflow Developer Survey 2020のMost Lovedに選ばれています。
開発者に愛されているRustはどのような言語か紹介します。
ツールが充実している
ツールが充実しているので、初学者でもかんたんに環境を構築ができる。
パッケージマネージャであるCargo、インストーラであるrustupなどが非常に使いやすい。
構築方法
- こちらにアクセスしコマンドを実行する。
- その後、表示される通り
source $HOME/.cargo/env
を実行する。- すると、Rustに必要なCargoやrustc(コンパイラ)がすべてインストールされます。
- あとは
cargo new プロジェクト名
を実行することで開発環境が完成します。
実行速度が速い
Rustは実行速度が非常に速いプログラミング言語です。
JavaやPythonより速く、Cに匹敵するほどです。
なぜ、そこまで速度が速いのか紹介します。
ゼロコスト抽象化
ゼロコスト抽象化は、抽象化を行うと通常なんらかのコストを払う必要がありますが、Rustの場合は抽象化をゼロコストで行うことができます。
ここでいうコストとはメモリの占有率の増加、実行速度の低下などです。
Rustはゼロコスト抽象化を実現することで、実行速度の速さを実現しています。
仮想マシンをもたない
Javaは、一度コンパイルする際にJava仮想マシン上で動作する機械語に翻訳します。
それにより、「Write once, run anywhere」を実現しています。
対して、RustはCと同じくコンパイル後の最終結果は機械語に翻訳されます。
直接機械語に翻訳するため速度が速くなります。
メモリ管理
Javaは、ガベージコレクションをもち不要になったメモリが貯まるとをメモリ開放を行います。
ガベージコレクションを行うことにより実行速度が低下します。
それに対して、Cは手動でメモリを取得し、開放します。
これだと実行速度は速いですが、メモリの取得忘れなど安全性に欠けます。
そこで、Rustは所有権によりメモリを安全に管理しながら、ガベージコレクションをなくすことができました。
とにかく安全
先述した所有権によるメモリ管理によりメモリの安全性を確保しています。
Chromeの深刻なセキュリティ脆弱性の70%はメモリの問題である。
単純に考えるとメモリの安全性を確保しているだけで、70%の問題は解決することになる。
使用例
MicrosoftがRustの安全性を評価し、導入し始めている。
Facebookは仮想通貨のコアLibraを実装した。
IBMがNode.jsのプロジェクトをRustをつかって書き換えている。
DropboxのコアサービスをRustで書き換えている。
AWSでRust開発者の雇用を進めている。
まとめ
Rustは安全、高速、使いやすいプログラミング言語で近年注目されてきている。
今後、Rustがメジャーな言語になるかも?しれない。