This post is a response to the Rust core team’s call for blogs. It will outline some of my thoughts about learning the Rust Programming Language, and how I think 2020 should be a year focused on adding to the quantity and quality of learning resources available.
I don’t yet consider myself a real Rust programmer but the A call for blogs 2020 put forward by the core team is open to “anyone and everyone”, so I’ll lay out what I think about the process of learning Rust, and my experience thus far.
Rust has some fantastic “first party” resources for learning the language. The Rust Book, Rust by Example, and the Rust documentation are all stand-out examples of written learning resources created by a programming language community. It seems like a simple concept, but having official learning resources maintained by some of the same people who work on the language itself is a great idea. The fact that these documents are also free and available on lots of different devices is incredible. Additionally, Rust programming books written and published traditionally are climbing in number and quality. Fullstack Rust, Rust in Action are two project-focused books I’ve worked through, and there are several others that are a bit older. However, while the official living ebooks and the wider book marketplace are great, when we look at practical, project-based, and video content, things start to break down.
Like many others, I’m continuously refining my process for learning new material. Personally, I’ve had success with alternating the type of learning material I’m using, from books and articles to video courses and projects/exercises. While the alternative learning material I’ve used for Rust has thus far been superb, there isn’t a whole lot of it. If you’ve learned Rust in the last couple of years, the following resources might be familiar:
- Tensor Programming Tutorials
- Learn Rust in 7 Days
- Writing an OS in Rust
- Exercism’s Rust track
- Rust in Motion
- Rust for Node Developers
This is certainly not an exhaustive list, but it is a good sampling of some of the better video-based or practical resources for learning Rust, ranging from the very beginner-friendly rustlings course to Philipp Oppermann’s
blog_os project. These resources are great, for the most part. However, there are two main issues that I think need solving:
- There aren’t enough alternative resources (not long-form writing) While the above isn’t the complete list of learning resources, it is a good chunk of the high-quality stuff available. We need more like them. In my opinion, Rust in Motion is the most promising resource to come out recently. The quality is excellent for a video-based resource, and Manning’s system for closed-captioning is awesome. But, the course is very limited in scope and doesn’t seem to have a ton of practical/example-driven content. As shown by the recency of resources like Rust in Motion, this is partly a product of Rust’s youth, but I still think it’s worth calling out.
I’m not sure if the theme of ‘Learning’ is an applicable 2021 edition goal, but I do think we should all work toward improving the learning ecosystem in Rust during 2020.