学習ロードマップ

Rust 入門

所有権・借用・ライフタイムという Rust 独自の思考を、手を動かす入門書から線形型の理論書まで 5 冊で体に馴染ませる。

動かして学ぶ!Rust入門 コンセプトから理解するRust プログラミング言語Rust 公式ガイド プログラミングRust 第2版 ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで
SCROLL TO BEGIN

このロードマップが扱うもの

- C / C++ / Go / TypeScript Rust - `String` `&str``Vec<T>` `&[T]` - CLIWeb WebAssembly Rust

このロードマップの全体像

対象読者

  • C / C++ / Go / TypeScript など他言語の経験はあるが、Rust の借用チェッカで詰まった経験があるエンジニア
  • String&strVec<T>&[T] の違いを感覚で書けず、コンパイルエラーに振り回されている初学者
  • CLI・Web バックエンド・組み込み・WebAssembly など、Rust を実務投入する前に土台を固めたい中級者

5 冊で到達する状態

  • 所有権・借用・ライフタイムを図で説明でき、コンパイラのエラーを構文ではなくモデルで読める
  • trait / ジェネリクス / impl Trait / 関連型を使い分け、抽象化のコストと効果を語れる
  • Result / Option / ?thiserror / anyhow を組み合わせた、Rust らしいエラー設計ができる
  • Box / Rc / Arc / RefCell / Mutex の使い分けと、所有権から見た並行性の基礎が掴める
  • cargo / clippy / rustfmt / テスト / ドキュメントコメントを含む、標準ワークフローを自走できる

進め方のヒント

  • 1 冊目で構文とツールチェーンに慣れ、2 冊目で所有権モデルをコンセプトとして腹落ちさせる
  • 3 冊目(公式 The Book)は辞書ではなく通読し、標準ライブラリの語彙をこのタイミングで揃える
  • 4 冊目以降は写経よりも、手元プロジェクトを借用チェッカと対話しながら書き換える演習が効く

ロードマップ

5 つのステップで読み進める

  1. 01
    ステップ 01 手を動かして掴む Rust の最短入口
    動かして学ぶ!Rust入門
  2. 02
    ステップ 02 所有権とトレイトを概念から理解
    コンセプトから理解するRust
  3. 03
    ステップ 03 公式 The Book で語彙を揃える
    プログラミング言語Rust 公式ガイド
  4. 04
    ステップ 04 O'Reilly 定番で実務水準へ引き上げ
    プログラミングRust 第2版
  5. 05
    ステップ 05 線形型とシステムプログラミングの土台
    ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで

第 1 章

手を動かして掴む Rust の最短入口

  1. 手を動かして掴む Rust の最短入口

    サンプルを打ち込みながら構文とツールチェーンに慣れるための起点。まず Rust を動かし切る体験を作り、心理的なハードルを先に下げる役割を置く。

    動かして学ぶ!Rust入門
    この章の 1 冊 動かして学ぶ!Rust入門

    サンプルを動かしながらRustの文法・機能・アプリ開発を体系的に学ぶ

    この本で身につくこと
    • Rustの所有権・借用・ライフタイムの仕組みをサンプルコードを通じて実際に体感できる
    • トレイト・ジェネリクス・エラー処理・並行処理といった中級機能を文法レベルで理解できる
    • CargoによるRustプロジェクトの作成・ビルド・テスト管理の基本操作を習得できる
    • ワードゲームとレイトレーサーという2つの実践プロジェクトを通じて、学んだ文法を統合的に活用できる

    想定読者: 他言語の基本文法は理解しているが、Rustに初めて触れるプログラマー。特にメモリ安全性や所有権の概念を手を動かしながら把握したい入門者。

    本の詳細を見る →
  2. 所有権とトレイトを概念から理解

    所有権・ライフタイム・ジェネリクス・トレイトを Rust 固有の設計思想として整理する。1 冊目で触れた機能を、モデルとして腹落ちさせる背骨に据える。

    コンセプトから理解するRust
    この章の 1 冊 コンセプトから理解するRust

    Rustの難解な仕様を他言語との比較で「なぜそうなのか」から理解する

    この本で身につくこと
    • 所有権・借用・ライフタイムが「なぜその設計になっているか」をメモリ安全性の文脈で説明できるようになる
    • ジェネリクスとトレイトの関係を理解し、コンパイラのエラーメッセージを手がかりにトレイト境界を自力で組み立てられる
    • Rustのエラーメッセージを翻訳ではなく設計の手がかりとして読む習慣が身につく
    • 手続き型・オブジェクト指向・関数型のそれぞれの視点からRustのコードを書き分けられる

    想定読者: 他言語(Python・Java・C++等)での開発経験があり、Rustの所有権・ライフタイム・ジェネリクス・トレイトで詰まっているエンジニア

    本の詳細を見る →
  3. 公式 The Book で語彙を揃える

    Rust 公式ガイドの邦訳で、標準ライブラリとエラー処理・テスト・モジュール設計の共通語彙を固める。以後の応用書を読むための基準点として通読する。

    プログラミング言語Rust 公式ガイド
    この章の 1 冊 プログラミング言語Rust 公式ガイド

    Rustの所有権・型システム・並行性を公式ガイドで体系的に習得する

    この本で身につくこと
    • 所有権・借用・ライフタイムという、Rustのメモリ安全保証の中核をなす3概念を段階的に理解できる
    • enumとパターンマッチングを組み合わせた、ヌル参照を排除する型安全なエラー処理ができる
    • トレイトとジェネリクスによる多相性の設計パターンを習得し、再利用可能な抽象化を実装できる
    • スマートポインタ(Box / Rc / RefCell)の使い分けと、内部可変性パターンを理解できる

    想定読者: C/C++またはJava/Python等の経験があり、メモリ安全でパフォーマンスに優れたシステムレベルの言語を習得したいエンジニア。Rustを初めて学ぶが、プログラミング全般の基礎は持っている人。

    本の詳細を見る →
  4. O'Reilly 定番で実務水準へ引き上げ

    参照・トレイトオブジェクト・並行性・unsafe まで踏み込む応用書。公式 The Book で得た語彙を、実務コードで迷わず書ける深さに引き上げる役割を担う。

    プログラミングRust 第2版
    この章の 1 冊 プログラミングRust 第2版

    RustのOwnershipとメモリモデルを原理から実践まで網羅する

    この本で身につくこと
    • 所有権・借用・ライフタイムの三原則をコンパイラの視点から説明できる
    • トレイトと多態性を活用して汎用ライブラリを設計できる
    • async/await と Future を使った非同期処理の実装パターンを理解できる
    • スレッド安全性をコンパイル時に保証するRustの並行モデルを実装に適用できる

    想定読者: C/C++ や他のシステム言語の経験があり、メモリ安全なシステムプログラミングをRustで習得したいエンジニア

    前提知識: ポインタ・スタック・ヒープなどメモリの基本概念の理解(CまたはC++で入門レベルのコードを書いた経験があると理想的) / コンパイル型言語での型システムの基礎的な扱い(型推論・ジェネリクスの概念を他言語で触れていると吸収が早い) / コマンドラインでのビルドツール操作の経験(Cargoの使い方は本書で解説されるが、makeやnpm等を使ったことがある前提だとスムーズ)

    本の詳細を見る →
  5. 線形型とシステムプログラミングの土台

    所有権の背景にある線形型システムと、OS レイヤに近いシステムプログラミングを扱う到達点。Rust が「なぜこの制約なのか」を理論側から閉じるために読む。

    ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで
    この章の 1 冊 ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで

    Rustの安全性を支える型理論まで踏み込み、システムプログラミングを基礎から習得する

    この本で身につくこと
    • 所有権・ライフタイム・借用の三つの仕組みがなぜメモリ安全性を保証するかを説明できる
    • トレイトを使ったポリモーフィズムの実装パターンを理解し、実際に書ける
    • シェルやデバッガなどシステムプログラミングの周辺ツールをRustで扱う基礎を習得できる
    • 正規表現ライブラリを用いたテキスト処理をRustで実装できる

    想定読者: C/C++や他の言語でプログラミング経験があり、Rustの所有権・ライフタイム・借用といった独自の安全性モデルを理論ごと理解したいエンジニア

    本の詳細を見る →