minimal runtime, maximum writetime
My goal for this fall term is to take the deep dive with Rust. Systems programming has always interested me because I love the idea of getting closer to metal. So this is my plan to learn Rust. The majority of this template is shamelessly ripped from from Khalil Stemmler's post on GraphQL.
What does success look like?
Any great project defines success first. Having the end goal defined will give you a north star. This north star will guide you along the way in your project :)
With that said, what kind of skills and concepts would I like to know?
- minimize the number of unknown unknowns about the Rust ecosystem
- understand the timeline of major events related to Rust, tooling, trends, and adoption
- identify the major players in the Rust universe
- understand the current trends and where Rust is going in the future
- develop my own opinions on Rust and know what type of projects are appropriate with Rust
What would I like to build?
When learning new technology, the best way to learn something is with project-based learning. In my experience, your brain latches onto concepts easier while building instead of only reading textbooks. In addition, while learning Rust, I also want to learn about more traditional computer science concepts. So my projects will combine the two. I would like to build the following projects.
- a virtual machine
- an operating system
- a Typescript compiler
- vim-like text editor
- in memory SQL (maybe an ORM instead?)
It's going to take a long time for me to complete all of these projects with decent-sized feature sets. I don't plan on finishing all with four months. These are simply my long-term goals :) Perhaps I can finish all these within a year? (alongside my regular Math (ew) courses at school).
What would I like to teach?
Here's a list of resources that I'll be using.
- Tour of Rust
- The Rust Programming Language ("The Book")
- Rust by Example
- A Gentle Introduction to Rust
- Learning Rust With Entirely Too Many Linked Lists
For the cs-y related projects, I'll be using the textbooks on teach yourself computer science.
Excited to finally get my hands wet with Rust, and to share my learnings here these next few months. See you then!