Fork me on GitHub

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.