リリース・改善中
Programming language · 2015年公開
Rust はガベージコレクタなしでメモリ安全性を保証するシステムプログラミング言語で、C/C++ に近い性能と安全な並行処理を両立します。
Rust は性能と信頼性の両立を目指した汎用プログラミング言語です。2015 年にバージョン 1.0 が公開され、現在は Rust プロジェクトがオープンに開発し、Rust Foundation がそれを支えています。所有権(ownership)と借用(borrowing)のルールをコンパイラが検査するため、ガベージコレクタを使わずに、解放済みメモリへのアクセスやデータ競合といった種類のバグをコンパイル時に防げます。
Rust は速度と正しさの両方が求められる分野で力を発揮します。OS のコンポーネント、コマンドラインツール、ネットワークサービス、組み込み機器、WebAssembly などが代表例です。ランタイムが小さく C と直接連携できるため、既存の C/C++ コードベースを少しずつ置き換える用途にも向いています。標準ビルドツールの Cargo とパッケージレジストリの crates.io により、依存関係の管理、ビルド、テストをどのプロジェクトでも同じ手順で扱えます。
学び始めるなら、rustup でツールチェーンをインストールし、公式ガイド「The Rust Programming Language」(通称 The Book)を順に読みながら、例を実際に動かしてみるのがおすすめです。所有権の考え方は最初は戸惑うかもしれませんが、コンパイラのエラーメッセージが詳しく、修正方法まで示してくれることが多いため、手を動かしながら身につけられます。TASTEDEV では Rust の開発環境 TASTECODE を無料で提供しています。
所有権・借用・ライフタイムをコンパイラが検査し、実行時のコストなしに解放済みメモリへのアクセスやヌルポインタ参照を防ぎます。
スレッド間でのデータ共有のしかたを型システムが検査するため、データ競合のあるコードはそもそもコンパイルできません。
ジェネリクス、トレイト、イテレータといった高水準の機能も、手書きの低水準コードと同等の性能を持つ機械語にコンパイルされます。
Cargo ひとつでプロジェクト作成、依存関係管理、ビルド、テスト、ドキュメント生成まで行え、rustfmt と Clippy がコード品質を支えます。
Rust 公式のインストーラー rustup を導入します。macOS と Linux では下のコマンドを実行し、Windows では rust-lang.org から rustup-init.exe をダウンロードして実行します。Windows では Visual Studio の C++ ビルドツールが必要になる場合があり、その際はインストーラーが案内します。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh新しいターミナルを開き、コンパイラ rustc とビルドツール Cargo のバージョンが表示されることを確認します。後で最新の安定版に更新するときは rustup update を実行します。
rustc --version && cargo --versionCargo で新しいプロジェクトを作り、そのままビルドして実行します。プロジェクトフォルダーには設定ファイル Cargo.toml とソースファイル src/main.rs が作成されます。
cargo new hello && cd hello && cargo runRust の実行可能プログラムはすべて main 関数から始まります。println! は名前の末尾に感嘆符が付いたマクロで、文字列を 1 行として標準出力に書き出します。cargo new で作ったプロジェクトの src/main.rs にはこのコードがすでに入っており、cargo run を実行するとコンパイルと実行が一度に行われます。
src/main.rs
fn main() {
println!("Hello, world!");
}
cargo runインストールから Rust の中心となる考え方まで、6 章で順を追って学びます。
Rust について質問し、経験を共有し、意見を交わす場所です。
まだディスカッションはありません。最初の話題を始めましょう。
コメント 0件
ログイン · ログインするとコメントできます。
最初のコメントを書いてみましょう。