The other day I was asked to recommend resources for learning the Rust programming language. Here’s what I came up with.
How do you like to learn?
If you want to type-it-in-the-browser, you have Rust by Example (free).
To follow along with a book, using your favourite editor: The Rust Programming Language is “the book” (free, or you can purchase a physical copy).
If you want video, try Rust in Motion (paid) or the Rust channel on YouTube.
For those working in Jupyter (maybe you love the science?) there’s the EvCxR Jupyter Kernel. That won’t teach you Rust, but it’ll give you a familiar environment.
If you prefer to work through projects:
- Rust in Action (paid) seems to have a project in every chapter.
- If you’re into Rust for the WASM, there’s the Rust and WebAssembly book (free) and Programming WebAssembly with Rust (paid).
- For bare-metal programming: The Embedded Rust Book (free).
Then there are (free) challenges like Exercism, Project Euler, or Rustlings.
Two specific topics are worth a look once you’re coding: The Little Book of Rust Macros (free; thank you, Andrea, for sharing this with me) and the work-in-progress Asynchronous Programming in Rust book (free).
If you want the nitty-gritty you have the (incomplete) Rust Reference, and as a back up to that The Rustonomicon.
Finally, I have my own list of Rust principles as a quick reminder of the key concepts.