Rust
Ownership, borrowing, and the compiler as a teaching device. 13 lessons, 6 phases — built up from first principles.
Foundations
- #0 Welcome — Programming, and Why Rust Starting from scratch: what a program is, and what makes Rust different
- #1 Installing Rust and Running Your First Program Cargo — the one tool that handles every part of a Rust project
- #2 Variables, Types & Mutability Naming data, knowing what shape it is, and saying when it's allowed to change
- #3 Making Decisions and Repeating Work if, match, and three kinds of loop — all of them produce values
Ownership & Borrowing
- #4 Ownership: Who Owns the Data? The single idea that makes Rust safe without a garbage collector
- #5 Borrowing — Reading Data Without Taking It References, &mut, and the one rule that prevents data races
- #6 Slices and the Two Kinds of String Why Rust splits owning a buffer from borrowing a view into it
Types & Traits
- #7 Building Your Own Types: Structs and Enums How to model your domain — and why enums in Rust are unusually powerful
- #8 Traits and Generics — Code That Works for Many Types Polymorphism without inheritance, and the static-vs-dynamic dispatch trade-off
- #9 Closures and Iterators — Pipelines That Process Data Anonymous functions and lazy, composable data pipelines