Nathan Yee

Rust is really hard. Here is how I spent my first 100 hours.

Background

For the past two years, every one of my attempts at learning the Rust programming language has failed. Sure, I did manage to work my way through the first 13 chapters of the Rust Book, but I was never able to finish the book, or pick up enough where I was comfortable using it in projects. Here’s what I did to get above the skill floor and get good enough at using it such that I could let organic learning take place.

I would not consider myself a beginner to programming, but I would also not consider myself a seasoned developer. Here’s a high level overview of my experience:

Projects

1. The Rust Book - 30 hours

My first resource was the Rust Book, officially known as “The Rust Programming Language”. If you are interested in learning Rust and don’t know where to start, the Rust Book is an excellent choice. It introduces you to the language and highlights the most unique features of Rust. I had read up to chapter 11 in the past, so this read through only took around 30 hours.

2. YouTube videos - 10 hours

3. Rustlings - 5 hours

Rustlings is a set of small exercises designed to get you used to reading and writing Rust code. I alternated reading the Rust Book and solving these exercises. I would try to solve the rustlings exercises a few days after I had read the relevant parts in the Rust Book to practice with some spaced repetition.

4. Writing An Interpreter In Rust - 35 hours

Writing An Interpreter In Go is a book that teaches you to build a C-like interpreter from scratch. It teaches you the process of lexing raw source code to tokens, recursive descent parsing, and evaluation of an Abstract Syntax Tree.

While originally intended to be written in Go, I chose to implement it in Rust.

Time Tracking

As of April 3rd I have tracked 82 hours learning the Rust and using it to build projects. Here is an auto-updating chart that documents how long I spent each day.

Time tracking

#Rust