Rustとは、メモリ安全性[1]や並列処理の安全性に注目して開発されたプログラミング言語である。
速度、安全性、並行性が特徴のプログラミング言語である。C++と遜色ない実行速度を誇り、GCがないにも関わらず手動のメモリ管理は不要で、しかもメモリ安全である。また、並列処理に起因するバグをコンパイル時に検出することができる。
開発はオープンなコミュニティによって行われているが、Mozillaから支援を受けている。Firefoxがバージョン48以降で徐々にコンポーネント単位でRustに移行している[2]他、Mozillaの次世代ブラウザエンジンであるServoの開発にも用いられている。Mozillaの外ではDropboxやnpmがWebサービスのバックエンドに用いており、ドワンゴも分散型ファイルシステムの開発にRustを用いているという。
構文はCライクであるが、型を後置したりする。また"fn" "Vec"のようにキーワードや識別子の省略を多用するのが特徴[3]。関数型言語の影響を受けて代数形やパターンマッチング、タプル、高階関数、型クラス(トレイト)などをサポートしたマルチパラダイム言語である。
コンパイラが親切なのもRustの特徴である。分かりやすいメッセージで、問題のあるコード部分に下線を引いて注釈を入れ、時には正しいコードを示してくれたりもする。また、言語仕様や標準ライブラリは処理系のメジャーバージョンが変わるまで後方互換を保つ。処理系をアップデートしても昔のコードが壊れることはないのだ。
Rustは入門者にとって厳しい言語であるということで一部では有名である。自動メモリ管理のための機構である「所有権(Ownership)」の概念を把握できていないと頻繁にコンパイルエラーに遭遇し、しかも意味がわからないのである。基本的にRustコンパイラのエラーメッセージは親切でわかりやすいのだが、所有権周りは理解しがたいエラーが出やすい。ある程度習得できていればひと目見て解決できる問題であったりする場合が多く、所有権を理解しないまま何時間も試行錯誤するのは時間の無駄である。早めにRustユーザに質問したりして、エラーの原因を理解することを勧める。また、ドキュメントやサンプルも眺めておこう。
2006年頃からMozilla社員であるGraydon Hoareの趣味として開発が始まった。その後2009年にMozillaによる支援が開始され、現在まで続いている。2010年にコンパイラの記述言語がOCamlからRustに移行し、セルフホスト(コンパイラがコンパイルする言語自身で書かれていること)を達成した。
月日は流れ、2015年に初の安定版であるRust1.0がリリースされた。これほどまでに時間が掛かったのは、前述した後方互換性を保つため、1.0リリース時に存在したAPIや機能を削除したり大きく変更したりできないからである。以降は6週間毎に安定版のマイナーバージョンが上がる列車方式のリリースが行われている。
2016年および2017年には、技術者向け質問コミュニティサイトStack Overflowのユーザ投票において「最も愛されている言語」に選ばれた。[4]
Rust(プログラミング言語)に関するニコニコ動画の動画を紹介してください。
Rust(プログラミング言語)に関するニコニコミュニティを紹介してください。
急上昇ワード改
最終更新:2025/12/09(火) 05:00
最終更新:2025/12/09(火) 05:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。