メインコンテンツへスキップ
  1. レベル1から始めるRust冒険記/

最近話題のRustとは何か?

·
Rust チュートリアル
目次
Rustチュートリアル - この記事は連載の一部です
パート 1: この記事

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++に代わる主要な移行先言語として注目を集めています。

rust-lang/rust

Empowering everyone to build reliable and efficient software.

Rust
102694
13261
golang/go

The Go programming language

Go
127168
17964
ziglang/zig

General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Zig
38515
2787

開発におけるRustの適用事例
#

2022年、Linuxカーネルバージョン6.1にてRustが公式サポート言語として追加されました。

一部のドライバやカーネルモジュールに試験的に実装されつつあります。

この動向はInfoQ等の多くのニュースメディアで報道され注目を集めました。

その他にもOSやブラウザエンジン、ミドルウェア等、Rustを利用した様々な開発が盛んに行われています。

以下はRustを利用したOS開発のプロジェクトです。

Rustチュートリアル - この記事は連載の一部です
パート 1: この記事

関連記事

LinuxでRust環境構築を行う方法
Rust チュートリアル
「Hello, World!」の出力
Rust チュートリアル
AlmaLinux8でPHP-FPMをソースからビルドする方法
PHP ビルド
Linux CLIから「Zed Attack Proxy」でセキュリティテストを実行する方法
セキュリティ
Mailmanのバージョンを確認する方法
Linux メール
Postfixでシンタックスチェックを行う方法
Postfix メール Linux