Comprehensive Rust へようこそ 🦀
これは、Google の Android チームが開発した無料の Rust コースです。このコース では、基本的な構文から、ジェネリクスやエラーハンドリングのような高度なトピック まで、Rust の全範囲を扱います。
コースの最新バージョンは https://google.github.io/comprehensive-rust/ で確認できます。これを別の場所で 読んでいる場合は、更新についてそちらを確認してください。
このコースは他の言語でも利用できます。ページ右上で希望の言語を選択するか、 利用可能なすべての翻訳の一覧については 翻訳 ページを確認してください。
このコースは PDF 版 でも利用できます。
このコースの目的は、Rust を学んでもらうことです。受講者は Rust について何も知ら ないことを前提とし、次を目指します:
- Rust の構文と言語について包括的に理解してもらう。
- 既存のプログラムを修正し、Rust で新しいプログラムを書けるようになってもらう。
- Rust の一般的なイディオムを紹介する。
最初の 4 日間のコースを Rust Fundamentals と呼びます。
この基礎の上に、1 つ以上の専門トピックをさらに深く学ぶこともできます:
- Android: Android プラットフォーム開発 (AOSP) で Rust を使う半日 コースです。これには、C、C++、Java との相互運用が含まれます。
- Chromium: Chromium ベースのブラウザーで Rust を使う半日コース です。これには、C++ との相互運用や、Chromium にサードパーティ製 crate を含める 方法が含まれます。
- ベアメタル: ベアメタル (組み込み) 開発で Rust を使う終日 クラスです。マイクロコントローラーとアプリケーションプロセッサーの両方を扱い ます。
- 並行性: Rust の並行性に関する終日クラスです。古典的な 並行性(スレッドとミューテックスを使用したプリエンプティブなスケジューリング) と、async/await による並行性(future を使用した協調的マルチタスク)の両方を 扱います。
対象外
Rust は大きな言語であり、数日ですべてを扱うことはできません。 このコースの対象外の一部は次のとおりです:
- マクロの開発方法を学ぶこと: 代わりに the Rust Book と Rust by Example を参照してください。
前提
このコースでは、受講者がすでにプログラミングの方法を知っていることを前提として います。Rust は静的型付け言語であり、Rust のアプローチをよりよく説明したり対比 したりするために、C や C++ と比較することがあります。
Python や JavaScript のような動的型付け言語でのプログラミング方法を知っていれ ば、問題なくついていくことができるでしょう。
これは スピーカーノート の例です。これらを使ってスライドに追加の 情報を加えます。これには、講師が取り上げるべき重要なポイントや、 授業でよく出る質問への回答などが含まれます。