Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 4 KB

README.md

File metadata and controls

35 lines (28 loc) · 4 KB

Learn Rust

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.

Table of Contents

Learning Path

  1. 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.
  2. 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.
  3. 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
  4. 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.
  5. 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 or Futures. This book goes into detail about how it all works.
  6. 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.
  7. 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.
  8. 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.
  9. 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 what unsafe really is and what it is for. This book will explain unsafe and how it interacts with other Rust code.

Additional Resources

These resources can act as references for when you need assistances with other sections of the Rust language and ecosystem.

  1. The Cargo Book
  2. The Rustup Book
  3. The Rustc Book
  4. Rust Cheat Sheet
  5. The Rustdoc Book
  6. The Rust Edition Guide
  7. The Rust Unstable Book
  8. The Little Book of Rust Macros
  9. Rust Idioms, Design Patterns, and Anti-Patterns
  10. The Rust Reference
  11. Visualizing memory layout of Rust's data types