Steve Klabnik, Carol Nichols & Chris Krycho

The Rust Programming Language (The Book)

Rust's official book, free and offline via rustup — ownership, borrowing, traits and concurrency, built around a grep clone and a threaded web server.

FreeIntermediate10+ hoursEnglishComputer Science
Go to course

Opens on Steve Klabnik, Carol Nichols & Chris Krycho — a direct link, no affiliate tracking.

Course overview

Steve Klabnik, Carol Nichols and Chris Krycho maintain what is probably the best official language book any programming language has. It's free online, ships with your toolchain — rustup doc --book opens it offline — and the current text targets the Rust 2024 edition and Rust 1.90.0 or later. No Starch publishes it in print as the third edition if you want paper.

There's also a community-run interactive version at rust-book.cs.brown.edu that adds quizzes, highlighting and visualisations of ownership. If you're the kind of learner who needs to be tested, start there instead.

How the book is structured

It teaches by building. A guessing game in chapter two before you understand much of anything, then the language properly — ownership, borrowing and lifetimes, structs and enums, pattern matching, error handling, generics and traits — with a command-line grep clone as the mid-book project and a multithreaded web server at the end. Cargo, modules, testing and documentation are woven in rather than bolted on.

Chapter four, and the wall

Everyone who learns Rust hits the same place. Chapter four is ownership, and it is the chapter that decides whether you continue. The book explains it as well as it can be explained in prose, and it still will not fully land until the compiler has rejected your code twenty times for reasons you find unreasonable. That's not a failure of the book — it's a genuinely novel concept and reading about it only gets you partway.

The related weakness is that the borrow checker's objections make sense in retrospect and rarely in the moment. The book teaches the rules but can't give you the intuition, and there's a stretch of a few weeks where writing Rust is frustrating in a way the book doesn't quite prepare you for emotionally. Async also gets comparatively light treatment relative to how much production Rust uses it, and the surrounding ecosystem — tokio and friends — is out of scope entirely.

Who it's for — and who should skip it

The default answer for anyone learning Rust, and worth reading even if you never write Rust professionally, because ownership will change how you think about memory in every other language you use.

Skip it if you're new to programming — Rust is a difficult first language and the book assumes you've met types, pointers and the general shape of systems programming. Skip it too if you need async Rust specifically; finish the book and then go to the async ecosystem's own documentation, because this won't cover it.

Our take

Exceptional, free, and still not sufficient on its own. Read it with a project open and expect chapter four to take several attempts. The honest gap is async, which the book underserves relative to how central it has become to real Rust work.

At a glance

Price
Free
Level
Intermediate
Time to complete
10+ hours
Language
English
Certificate
Not offered
Taught by
Steve Klabnik, Carol Nichols & Chris Krycho
Last checked
26 Aug 2026

Topics covered

  • rust
  • systems
  • book

Reviews

No reviews yet

Took this course? Share what you thought.