A list of my recommended resources for learning Rust, in addition with a learning path. Note that this is not a listing of all available learning resources for Rust across a variety of different fields and topics. As stated, it is what I recommend to use whilst learning Rust.
- NOTES:
- This book assumes you have some prior programming knowledge and experience
- Reading this book is not a recommendation. It is a requirement in my opinion. It is an extremely informative introduction to the language and will help you start off smoothly.
- Follow along with the code and write the projects that are part of the book.
- NOTES:
- Rustlings is a good way to get yourself dirty writing some Rust code. It is a collection of exercises to help you get acclimated and used to the semantics of the language.
- Totally optional, but it will help.
- NOTES:
- This book provides you with Rust code examples along with explanations about what is going on in the code. It is a nice guided experience to learning Rust, similar to the projects presented in the Rust Programming Language book.
- Totally optional, but it will help.
- NOTES:
- This book will give you a good overview about a variety of language constructs in Rust, some of the intricacies of the language, and some other things you might see out in the wild.
- Recommended
- 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
- NOTES:
- By this point, you will have likely encountered or heard about
async
and.await
and other concurrency related topics in Rust. This is a good point to start learning about how asynchronous programming works in Rust. - Highly recommended
- By this point, you will have likely encountered or heard about
- NOTES:
- This series is an excellent overview into the more "intermediate" parts of Rust, You will learn about many of the deeper parts and/or more niche parts of Rust like interior mutability (introduced in the Rust book), subtyping and variance, atomics, etc. By the end of the series, you will know much more about Rust and how things work.
- Highly recommended
- NOTES:
- This book is an incredible compliment to the Crust of Rust series. It introduces some other topics that have not yet been covered in the Crust of Rust series.
- Highly recommended
- NOTES:
- Highly recommended
- NOTES:
- By this point, you will have decent experience with Rust. But, you might be wondering about
unsafe
Rust and the deeper, darker parts of the language. This book will tell you all about those topics. It also explains whyunsafe
Rust exists and how it is supposed to interact with safe and other unsafe Rust code. - Some topics in this book were covered in Crust of Rust.
- Reading this book is not a recommendation. It is a requirement in my opinion.
- By this point, you will have decent experience with Rust. But, you might be wondering about
- NOTES:
- Highly recommended
- It is good to know how Rust lays out builtin and custom types in memory.
These resources can act as references for when you need assistances with other sections of the Rust language and ecosystem.