← All Rust books
intermediate fundamentalssystems-programming

Programming Rust: Fast, Safe Systems Development, 2nd Edition

Jim Blandy, Jason Orendorff, Leonora F.S. Tindall · O'Reilly Media · 2021

Best for: Developers with some systems-programming background (C, C++, Go) who want one thorough book that doesn't stop at the beginner-friendly parts of Rust.

  • ISBN-13: 9781492052593
  • Level: intermediate
  • Published: 2021

Programming Rust covers a lot of the same ground as the official book — ownership, borrowing, traits, generics, error handling — but is written for readers who already think in terms of stack frames, pointers, and memory layout, and it doesn’t slow down to explain those ideas from scratch. That lets it go noticeably further: there are full chapters on operator overloading, closures and iterators as zero-cost abstractions, concurrency (including channels and the Send/Sync model), unsafe code, and foreign function interfaces that the official book only gestures at.

The second edition (updated for Rust 2021) is particularly good on why Rust’s rules exist, not just what they are. The chapter connecting ownership to how data is actually laid out in memory — and how that differs from a garbage-collected runtime — is one of the clearer treatments of the “why is this safe” question that a lot of beginner material skips past. The concurrency chapter, covering both fearless-concurrency-via-the-type-system and the practical mechanics of threads and channels, holds up well even against books dedicated solely to concurrency.

Where it’s weaker: at 700-plus pages it’s a heavier commitment than the official book, and its beginner-facing chapters move fast enough that a reader with zero systems background may find the early going rougher than advertised. It also predates a lot of the async ecosystem’s stabilization, so its treatment of async/await is thinner than everything else in the book.

Compared to The Rust Programming Language: think of this as what you reach for after the official book once you want the systems-level detail — memory layout, concurrency internals, unsafe and FFI — that the official book deliberately leaves for later.