Learning Resources
A list of books and other resources from which to learn Rust.
Books
Introductory Books
-
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)
-
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.
-
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
-
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.
-
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.
-
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.
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.
-
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.
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.