Learning Resources
A list of books and other resources from which to learn Rust. Books which are available free/online are marked. All other resources are free and online even if not marked.
Books
Introductory Books
-
[Free] The Rust Programming Language
The official rust-lang book. Aimed at those with experience in another programming language but not
necessarily a low-level one. This is also the best option if you are trying to learn Rust as your first programming language. Freely available online (a print version is also available). There is also an unnofficial abridged version.
-
[Free] Fast Track to Rust
Introduces you to the Rust programming language by building a grep-like program with a minimal subset of the features found in the GNU grep utility. Freely available online.
-
Programming Rust
Another book aimed at those with experience in another programming language, but not
necessarily a low-level one. While the official book above has a stellar reputation, this one has a reputation for being even better,
diving deeper and giving a more thorough introduction to the language. The downside being it's not free.
-
Command-Line Rust
Rather than focusing on the language as a whole, this guide teaches Rust using a single small, complete, focused (CLI) program in each chapter. This book is lesser-known but seems to be highly rated by those who have read it.
-
Zero To Production In Rust
Aimed at developers with a background in backend web development. Starts with the basics of setting up a development environment, and takes the reader all the way through to creating a robust production-ready web service.
-
Rust In Action
This one has a slightly different focus, and is more suited to the more experienced developer with some grasp of CS theory, or those coming from a background in C or C++. It takes the reader through some relatively advanced projects including a CPU emulator, database, and an OS kernel.
Advanced Books
-
[Free] Learn Rust With Entirely Too Many Linked Lists
Note: Linked lists are not a beginner topic in Rust (even for those with extensive C experience). But if you're comfortable writing Rust on an everyday basis and want to really level up, then this is a fantastic hands-on way to do that.
-
[Free] The Little Book of Rust Macros
A deep-dive into writing macros in Rust. The focus is on "macro_rules" macros. But there is also some content on procedural macros.
-
Rust For Rustaceans
A more advanced book that dives into some of the more involved parts of Rust. Not suitable for a complete beginner (even if they have experience in other languages). Best read after you have already learnt some basic Rust through one or more of the other resources.
-
Rust Atomics and Locks
A practical guide to understanding low-level concurrency. You’ll learn everything about atomics and memory ordering and how they're combined with basic operating system APIs.
Other
Learning by doing
-
Rustlings
Small exercises to get you used to reading and writing Rust code, including reading and responding to compiler error messages.
Learning by example
-
Rust Language Cheat Sheet
A great simple quick-reference for all sorts of things from syntax to memory layouts of common types. Available in web and PDF form
-
Rust By Example
Learn rust features with small, targeted examples. Starting with "hello world" and moving up to more complex features like traits and generics.
-
The Rust Cookbook
A collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem.
Videos
-
Crust of Rust
Intermediate level videos that explorer Rust by diving into real examples and working code, often by re-implementing functionality from the standard library. These episodes are not targeted at newcomers to Rust, but at those who have read The Book and have the theoretical knowledge, but want to see how these concepts translate into real use.
Reference
Official Documentation
-
The Standard Library Docs
Documentation for the built-in `std`, `core`, and `alloc` crates.
-
The Rust Reference
Defines details of the language semantics that you might expect to find in a specification if Rust had a specification.
-
The Rustinomicon
A high-level companion to the reference and a guide to correctly writing unsafe code in Rust.
Unofficial Documentation
-
The Ferroscene Spec
An unnoficial but high quality specification for the Rust language developed by Ferrous Systems.