Here are some resources I recommend for programmers. I am a systems programmer, thus my affection for Rust in particular and a general bias towards systems programming topics.

Recommended Rust Resources & Reading#

Here are a few links to materials that helped me get my bearings in Rust, and understand it deeper.

Many of these are bog-standard, and the same materials others would recommend. This is a good thing. Rust is an extremely well-polished programming language with an excellent community. Trust them about the idioms. Trust the programming language. If you don’t understand why Rust made a certain decision, know that there is almost certainly a well-considered, important reason, and that includes its choices of commonly-recommended documentation.

Beginners#

  • Of course, The Book is the absolutely indispensable canonical reference for the programming language.
  • O’Reilly’s book is also well worth reading
  • For those who like exercises, Rustlings is incredibly well-done.
  • For those coming, like I did, from C and C++, Learn Rust the Dangerous Way is a great resource.
  • Rust has a relatively small standard library. Some external dependencies are practically standard, and have their own tutorials and documentation. Among these are Tokio, Serde, and log.

Intermediate#

  • Rust for Rustaceans is a nice “second semester” course in Rust, covering all the things that every advanced Rust programmer really should know, and no longer has to learn the hard way. This contained a lot of especially useful information for the serious software engineering and dependency management considerations involved in maintaining a library and publishing a crate.
  • There are a lot of misunderstandings about unsafe in Rust, but most can be cleared up by reading the Rustonomicon. Even if you don’t personally have occasion to use unsafe, it is an essential part of the language, and the crates that you depend on – whose source code you should be reading – will use it.
  • Faster than Lime, as far as I can tell, straddles beginner and intermediate.
  • Learn Rust With Entirely Too Many Linked Lists is a project to teach Rust by programming the data structure it is perhaps least well-suited to.

Articles#

Other Programming Reading#

Essential resources#

Articles#

Classics, for the vibes#