Rustとは #
Rustは高い性能と安全な並行処理の両立を目指して設計されたプログラミング言語です。
「Mozilla Research」で開発が始まり、2015年に安定版がリリースされ現在は様々な分野で採用が進んでいます。
Rustでできること #
Rustは柔軟性と安全性を兼ね備えたその特性により、OS開発や機械学習、WebAssemblyやGUIアプリケーションまで多岐にわたる分野で活用されています。
分野 | 代表的なプロジェクト・フレームワーク |
---|---|
OS開発 | Redox OS, Tock OS |
ミドルウェア開発 | Axum, Rocket |
組込みシステム | Knurling, RTIC |
ゲームエンジン開発 | Bevy, Fyrox |
ブロックチェーン開発 | Polkadot, Solana |
WebAssembly | Yew |
コマンドラインツール | ripgrep, fd, exa |
機械学習 | Linfa, Burn |
GUIアプリケーション | Tauri, egui, Druid(xilemへ移行), Iced |
高い人気 #
Stack Overflow の開発者向け調査によると、Rustは2016年から2022年までの7年間連続で「最も愛されているプログラミング言語(Most Loved Language)」に選出されました。 2023年以降は調査の評価指標が変更され、「最も称賛される言語(Most Admired)」へと移行しましたが、Rustは引き続き選出されております。
最新の調査結果となる2024 Developer Surveyについても最も称賛される言語として選出されております。
C/C++に変わる次世代言語として期待されている #
C/C++言語は長年にわたり、システムプログラミングや高性能アプリケーション開発の分野において事実上の標準言語とされてきました。
しかしメモリ管理の難しさや複雑化した体系が課題として指摘され、新たな言語への移行が検討されるようになりました。
移行先言語としては「Rust」や「Go」、「Zig」などが挙げられます。
Rustは、所有権(Ownership)や借用(Borrowing)といった独自のメモリ管理モデルを採用しており、コンパイル時にメモリ安全性を保証することで、実行時のバグや脆弱性のリスクを大幅に低減できる設計となっています。
またRustは既存のCライブラリとの連携が可能であり、段階的な移行やハイブリッド運用が可能であることから、C/C++に代わる主要な移行先言語として注目を集めています。
Empowering everyone to build reliable and efficient software.
The Go programming language
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
開発におけるRustの適用事例 #
2022年、Linuxカーネルバージョン6.1にてRustが公式サポート言語として追加されました。
一部のドライバやカーネルモジュールに試験的に実装されつつあります。
この動向はInfoQ等の多くのニュースメディアで報道され注目を集めました。
その他にもOSやブラウザエンジン、ミドルウェア等、Rustを利用した様々な開発が盛んに行われています。
以下はRustを利用したOS開発のプロジェクトです。