Rust の特徴、インストール、環境構築
参考資料
- Rust の公式サイト
- いわゆる The Book と、 Rust by Example が聖書
- Rustの日本語ドキュメント/Japanese Docs for Rust
- ↑の日本語版も用意されている
- κeen,河野 達也,小松礼人「実践Rust入門[言語仕様から開発手法まで]」技術評論社(2019)
Rust の特徴
- トップクラスのパフォーマンス
- C++ ≒ C ≒ Rust > Java, Swift, Go(2~3倍遅い) > Node.js(6倍遅い)> Ruby, Python3(30倍遅い)
- 早い理由
- マシンコードへのコンパイル
- 静的型付け
- ゼロコスト抽象化
- プログラム言語が持つ抽象化の仕組みを実行時コストなしに動作する
- 実行時コスト:実行速度やメモリ使用量
- 抽象化:注目すべき要素を重点的に抜き出す。
- 例:オブジェクト指向におけるポリモーフィズム
- Java 等は実行時に値の型を調べ、その型に対応するメソッドを呼び出す(動的ディスパッチ)
- 同じ性質を満たす方を統一的に扱えるため、柔軟性が高い
- 一方、実行時のコストがかかる
- Rust はデフォルトでコンパイル事にわかる方によって呼び出すべきメソッドを決める(静的ディスパッチ)
- 動的ディスパッチに比べ、柔軟性を欠く
- 実行時のコストはかからない
- プログラム言語が持つ抽象化の仕組みを実行時コストなしに動作する
- GC を行わない
- 組み込みなど、リソースが限られている環境にも適している