A compilation of my recommended Rust learning resources, in addition with a learning roadmap. There are various other resources out there, but I will not be naming them all in preference of brevity.
- The Rust Programming Language Book: This book is intended to help people with prior programming experience learn about how Rust works. It establishes a solid foundation that you can easily build upon. Make sure to follow along with the code and projects that are part of the book.
- Rustlings: Rustlings is a series of Rust exercises to help you start writing basic Rust code and get used to the semantics of the language. You should do it in tandem with reading the book.
- Rust By Example: This book explains examples of Rust code to help you figure out what is going on. It is helpful to see how different parts of Rust work together. I recommend going over this book
- Start writing some Rust code. Figure out a project that aligns with your interests and start writing it in Rust. Some easy programs to make as a Rust beginner are programs that take user input, CLI applications, and basic web APIs. You should have enough knowledge by this point to write said projects.
- async/.await Book: The Rust book introduces how Rust does concurrency through multithreading. Rust also provides another avenue to do concurrency through
async
and.await
orFuture
s. This book goes into detail about how it all works. - Crust of Rust series by Jon Gjengset: At this point, you could probably be considered an "intermediate" Rust programmer. This series helps you gain intermediate knowledge about Rust that continues to build on what you already know and explain how certain things work. Topics discussed include interior mutability, subtyping and variance, atomics, and more.
- Rust for Rustacenas by Jon Gjengset: Another intermediate Rust resource that acts as a great compliment to the Crust of Rust series. It introduces topics not in Crust of Rust such as designing libraries, the Cargo package manager, and more.
- Too Many Linked Lists: This book talks about how to make linked-list data structures in Rust, both safely and unsafely. This might be your first introduction to the
unsafe
world of Rust, so be ready. - The Rustonomicon: By this point, you will have decent Rust experience and would have been introduced to
unsafe
Rust. But, you might be wondering how things work on a lower level and whatunsafe
really is and what it is for. This book will explainunsafe
and how it interacts with other Rust code.
These resources can act as references for when you need assistances with other sections of the Rust language and ecosystem.