Camp 1 · Step 1 of 12
Why Rust?
Speed without crashes — how Rust ended the oldest trade-off in programming.
For fifty years, programmers faced a cruel choice: fast languages (C, C++) that crash from memory bugs, or safe languages (Python, Java) that pay a speed tax for a garbage collector. Rust's pitch: refuse the choice.
The trick: check safety at compile time
Rust's compiler proves your program manages memory correctly before it runs — through a system called ownership (this trail's Camp 3, and genuinely mind-expanding). No garbage collector needed, no crashes possible from the classic memory bugs:
- ~70% of serious security vulnerabilities in Chrome and Windows were memory-safety bugs — the category Rust eliminates by construction
- That's why the Linux kernel, Windows, and Android now accept Rust code
Loved, verifiably
Rust has topped Stack Overflow's "most-loved language" survey for nearly
a decade straight. Firefox's engine, Discord's backends, Cloudflare's
edge, ripgrep and much of modern CLI tooling — Rust.
The honest part
The compiler that proves your safety also rejects programs it can't prove — and it will reject yours, often, at first. Rustaceans call it "fighting the borrow checker," and it's a phase everyone passes through. The compiler's error messages are famously the best in the industry: they explain, point, and frequently write the fix for you.
First taste
println! with a ! is a macro — for now, just know the ! belongs
there. {} is a placeholder filled by trail.
How does Rust achieve memory safety without a garbage collector?
What's next
Cargo — Rust's beloved build tool — and your first compiled project.