Learn Rust
In case you're new to the language we suggest you to take a look at Learn Rust (free):
- The Rust Programming Language - The Rust Programming Language gives you a very nice overview;
- There are plenty of exercises in the book and at the end of your learning journey you'll get to build your own multi-threaded web server!
- GitHub - rust-lang/rustlings: Small exercises to get you used to reading and writing Rust code! is an alternative more pragmatic approach on learning the language;
- Introduction - Rust By Example is there for people who like learning from real-world examples;
- https://learn.microsoft.com/en-us/training/paths/rust-first-steps/ is yet another alternative, this time offered by Microsoft, which seems very similar to the rust book, but more pragmatic tones and you can earn XP!
Sooner or later you might also need help for a project you work on or simply to learn a concept you do not really understand. Not everybody has a senior or friend around that can help them out with this. For all of this and more you want to probably join one or multiple of the community chat servers listed in Appendix VII. Community Chat.
ⓘ Hardcore alternative
Programming Rust, 2nd Edition (O'Reilly Publishing) is a big book and will take you some time to get through. It is not for the faint of heart. However… If you do choose for this route as an alternative to (1) Learn Rust, you will absolutely not regret it. In fact, your entire rest of the Journey will be a breeze.
The "Programming Rust, 2nd Edition" book is a gem and in case you can handle big dry Technical books such as these it is one that will give you just as much love back as the energy that you put into it. Take your time, get through it, play with it, and enjoy. In fact, it can be easily paired with Rustlings by doing the exercises linked to the content you're reading. Rust by Example can also be added on top of that to see some more code related to the stuff you're learning.
Soak it in. It's a hardcore alternative, but if you're up for it, it's there for you to grab.
If you've never done any Systems programming before, this will be an especially helpful book given it will explain a lot of the magic you've encountered in your very protected professional life so far. You're welcome.
Tour of Rust
This project is meant to give an experienced programmer a swift introduction to Rust as an alternative to reading lengthy book style documentation.
- Chapter 1 - The Basics
- Chapter 2 - Basic Control Flow
- Chapter 3 - Basic Data Structure Types
- Chapter 4 - Generic Types
- Chapter 5 - Ownership & Borrowing Data
- Chapter 6 - Text
- Chapter 7 - Object Oriented Programming
- Chapter 8 - Smart Pointers
- Chapter 9 - Project Organization and Structure
Content goals:
- Chapter 1-4 should give you a strong taste of Rust's aesthetic
- Chapter 1-6 should give a person from C a good idea how their ideas translate
- Chapter 1-8 should give a person from C++ a good idea how their ideas translate
- Chapter 9+ should talk about Rust specific concepts that doesn't fit well into the above
This project also aims to provide this book in as many languages as possible.
Learn Rust in a Month of Lunches
There's only one Rust book out there — that I'm aware of — which assumes no programming experience or knowledge at all.
The "Learn Rust in a Month of Lunches" book by David MacLeod is available at https://www.manning.com/books/learn-rust-in-a-month-of-lunches.
It's a pretty unique and amazing book. Personally I do value of reading the same knowledge from many different PoV, both to understand the different angles on the same topic, but also as a way of learning by repetition. As such I think the original guide structure does still make sense.
That said I do appreciate that not everyone has the stamina for a long Rust Journey. As such, if you want only a single resource or book to help you get started with Rust, beginning from zero, I can highly recommend this book. The chapters are pretty unique and read very smooth. Once you finished this book you should be ready to immediately skip to the advanced parts of this guide, such as watching the Crust of Rust video series by "Jon Gjengset" or reading the Rust for Rustaceans book.
It's honestly an amazing book, you won't regret picking it up, be it your only beginner Rust book or just one of many angles.
That said, even if you skip the "learning material" from the first parts of this guide, because you're using this book, you might never the less want to look into and reference the earlier chapters for inspirational material, both for learning even more, as well as getting inspiration on the things you can build for fun, learning purposes or profit.
Even more Alternative or Companion resources
Welcome to Comprehensive Rust 🦀 - Comprehensive Rust 🦀: a small bootcamp course by Google focused on Android Engineers. Most of it is however applicable to anyone coming to Rust from another language and could be a great alternative or companion for some of the resources above.
Google has a blog article about "Comprehensive Rust" to look back at a year of Teaching rust within Google, available at https://security.googleblog.com/2023/09/scaling-rust-adoption-through-training.html.
The "Effective Rust" book is an excellent book that might just as well be official Rust material, and recommended for all Rust learners. So once you think you understand the content of "the Rust book" and the like, you probably want to start reading "Effective Rust", you won't regret it.