Rustlings is an interactive tutorial for learning the programming language Rust. You are presented with a series of programs that are incomplete or broken in some way (it fails to compile or the tests are failing), along with some comments and links to the relevant sections of the Rust book.
While the Rust book is great as a thorough narrative walkthrough of the language, I’ve found that having small programs to play with, of graduated complexity and organised by theme, helps to consolidate and internalise what I’m learning. Whereas if I’m only reading chapters in the book, I would nod along to the explanations, and then forget most of it after a few days.
On the other hand, I don’t usually find step-by-step tutorials useful by themselves: they’re too focused on the details. Good narrative documentation gives you an understanding of the patterns and principles used in the design of the language / tool / library, which I find a lot more valuable when exploring a new system.
By combining the two approaches in this way, the Rust team have done a really good job, and I hope that similar projects learn from and adopt some of these approaches to helping new users get up to speed.
PS. I’ve collected some of my notes in Study notes: Rust.