License This project is dual-licensed under the MIT License and Creative Commons Attribution 4.0 International (CC-BY-4.0).
Trademarks This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Seven training courses covering Rust from different programming backgrounds, plus deep-dives on async, advanced patterns, and engineering practices.
This material combines original content with ideas and examples inspired by some of the best resources in the Rust ecosystem. The goal is to present an in-depth, technically accurate curriculum that weaves together knowledge scattered across books, blogs, conference talks, and video series into a cohesive, pedagogically structured experience.
Disclaimer: These books are training material, not an authoritative reference. While we strive for accuracy, always verify critical details against the official Rust documentation and the Rust Reference.
- The Rust Programming Language — the foundation everything builds on
- Jon Gjengset — deep-dive streams on advanced Rust internals,
Crust of Rustseries - withoutboats — async design,
Pin, and the futures model - fasterthanlime (Amos) — systems programming from first principles, engaging long-form explorations
- Mara Bos — Rust Atomics and Locks, concurrency primitives
- Aleksey Kladov (matklad) — Rust analyzer insights, API design, error handling patterns
- Niko Matsakis — language design, borrow checker internals, Polonius
- Rust by Example and Rustonomicon — practical patterns and unsafe deep-dives
- This Week in Rust — community discoveries that shaped many examples
- …and many others in the Rust community at large whose blog posts, conference talks, RFCs, and forum discussions have informed this material — too numerous to list individually, but deeply appreciated
Pick the book that matches your background. Books are grouped by complexity so you can chart a learning path:
| Level | Description |
|---|---|
| 🟢 Bridge | Learn Rust coming from another language — start here |
| 🔵 Deep Dive | Focused exploration of a major Rust subsystem |
| 🟡 Advanced | Patterns and techniques for experienced Rustaceans |
| 🟣 Expert | Cutting-edge type-level and correctness techniques |
| 🟤 Practices | Engineering, tooling, and production readiness |
| Book | Level | Who it's for |
|---|---|---|
| Rust for C/C++ Programmers | 🟢 Bridge | Move semantics, RAII, FFI, embedded, no_std |
| Rust for C# Programmers | 🟢 Bridge | Swift / C# / Java → ownership & type system |
| Rust for Python Programmers | 🟢 Bridge | Dynamic → static typing, GIL-free concurrency |
| Async Rust | 🔵 Deep Dive | Tokio, streams, cancellation safety |
| Rust Memory Management | 🔵 Deep Dive | Ownership, borrowing, lifetimes, smart pointers |
| Rust's Type System & Traits | 🔵 Deep Dive | Zero-cost abstractions to dynamic dispatch |
| Rust Patterns | 🟡 Advanced | Pin, allocators, lock-free structures, unsafe |
| Rust Metaprogramming | 🟡 Advanced | Declarative macros, proc-macros, syn, quote |
| Unsafe Rust & FFI | 🟡 Advanced | unsafe, raw pointers, FFI, bindgen, cbindgen, Miri |
| Rust Architecture & Design Patterns | 🟡 Advanced | OOP to idiomatic Rust, Typestate, Actors, ECS, Hexagonal |
| Rust at the Limit: Compiler Optimizations, SIMD, and Assembly | 🟣 Expert | LLVM internals, MIR, LTO, PGO, BOLT, SIMD intrinsics |
| Zero-Copy Architecture: io_uring, Thread-Per-Core, and rkyv | 🟣 Expert | io_uring, Glommio, rkyv, shared-nothing, zero-copy I/O |
| Type-Driven Correctness | 🟣 Expert | Type-state, phantom types, capability tokens |
| Enterprise Rust: OpenTelemetry, Security, and Supply Chain Hygiene | 🟣 Expert | Observability, zero-trust cryptography, SBOM, SLSA compliance |
| Rust API Design & Error Architecture | 🟡 Advanced | API guidelines, SemVer, thiserror vs anyhow, build.rs code generation |
| Rust Engineering Practices | 🟤 Practices | Build scripts, cross-compilation, CI/CD, Miri |
| Rust GUIs: Building Native Apps with Tauri | 🔵 Deep Dive | Tauri v2, OS webviews, IPC, multi-window, system tray, security |
| The Rust Architect's Toolbox: Bytes, Nom, Dashmap, and Miette | 🟡 Advanced | bytes, nom, dashmap, miette — zero-copy I/O, parser combinators, concurrent state |
| Tokio Internals: Building a Work-Stealing Runtime from Scratch | 🟣 Expert | mio, epoll, reactor, wakers, cooperative scheduling, work-stealing, timer wheel |
| Rust Ecosystem, Tooling & Profiling | 🟤 Practices | Cargo workspaces, Criterion, cargo-fuzz, flamegraphs, DHAT |
Rust Error Handling Mastery: From Result to Panic Hooks |
🔴 Advanced | Result/Try internals, thiserror/anyhow/eyre, panic hooks, FFI error translation |
| Hardcore Distributed Systems: Designing for Failure at Hyper-Scale | 🟣 Expert | Consensus, logical clocks, replication, storage engines, transactions, HA patterns |
| Hardcore Algorithms & Concurrency: Lock-Free Architecture and Hardware Sympathy | 🟣 Expert | CAS, epoch reclamation, skip lists, probabilistic structures, SPSC ring buffers |
| Hardcore Cloud Native: Orchestration, eBPF, and Kubernetes Internals | 🟣 Expert | Kubernetes internals, eBPF, Cilium, CRDs, multi-region platform design |
| Hardcore Quantitative Finance: Low-Latency Systems and HFT Architecture | 🟣 Expert | Market micro-structure, kernel bypass, NUMA, FPGA tick-to-trade |
| Hardcore Hardware Sympathy: OS Internals and Silicon-Aware Engineering | 🟣 Expert | CPU caches, MESI, TLB, CFS scheduler, io_uring, DPDK, XDP, thread-per-core |
| The AI-Native Product Engineer: From Idea to Production at Light Speed | 🟤 Practices | AI-assisted workflows, PRD-to-production pipeline, schema-first dev, CI/CD, observability |
| System Design: The Authoritative Multiplayer Server | 🟣 Expert | Game loop, custom reliable-UDP, client-side prediction, lag compensation, spatial partitioning |
| System Design: The Infinite Social Newsfeed | 🟣 Expert | Fan-out on Write/Read, social graph, Two-Tower ML ranking, Flutter infinite scroll, Count-Min Sketch |
| System Design: The Global IoT Telemetry Gateway | 🟣 Expert | MQTT C10M broker, edge decimation, device twin, TSDB Gorilla compression, streaming rule engine |
| System Design: The Real-Time Bidding (RTB) Ad Exchange | 🟣 Expert | 15ms deadline, scatter-gather fanout, Aerospike caching, ONNX fraud detection, SPSC billing pipeline |
| System Design: The Zero-Trust Identity-Aware Proxy | 🟣 Expert | BeyondCorp IAP, OIDC/JWT validation, mTLS private CA, device posture OPA engine, eBPF micro-segmentation |
Each book has 15–16 chapters with Mermaid diagrams, editable Rust playgrounds, exercises, and full-text search.
Tip: You can read the markdown source directly on GitHub, or browse the rendered site with sidebar navigation and search at the GitHub Pages site.
Local serving: For the best reading experience (keyboard navigation between chapters, instant search, offline access), clone the repo and run:
# Install Rust via rustup if you don't have it yet: # https://rustup.rs/ cargo install mdbook@0.4.52 mdbook-mermaid@0.14.0 cargo xtask serve # builds all books and opens a local server
Building, serving, and editing the books locally
Install Rust via rustup if you haven't already, then:
cargo install mdbook@0.4.52 mdbook-mermaid@0.14.0cargo xtask build # Build all books into site/ (local preview)
cargo xtask serve # Build and serve at http://localhost:3000
cargo xtask deploy # Build all books into docs/ (for GitHub Pages)
cargo xtask clean # Remove site/ and docs/To build or serve a single book:
cd c-cpp-book && mdbook serve --open # http://localhost:3000The site auto-deploys to GitHub Pages on push to main via .github/workflows/pages.yml. No manual steps needed.