mg website logo

Diving into Rust

May 16, 2020

I find myself with a lot of time on my hands lately due to Quarantine. Normally I’d be spending most weekends this time of year outside, pushing myself in other ways.

To be honest I’m going a little crazy. I hate being stuck at home. Quarantine sucks.

Anyway, I might as well try to make use of this new found time. I haven’t been interested in reading books lately and it’s been a long time since I set out to properly learn a new language.

I’ve been writing JavaScript since 2011 or so, and have learned a lot during that time. It’s primarily what I’ve done for work for many years now, and newer tools like TypeScript and React have kept it exciting. I’ve been picking up Python again for work, but it’s not entirely new to me.

I miss that feeling of diving into something unknown, and trying to make sense of it all. Pushing yourself to learn more and improve. So I’m going to learn Rust.

Why Rust?

I’ve been thinking about learning Rust for a year or so now. The ability to write fast, lower level programs is intriguing. After writing TypeScript, I really enjoy having types. The ability to use WASM is also cool.

People I look up to, like Joe Previte, have been learning it and that has inspired me. Plus a good friend of mine is also learning it at the same time so I’ll have a companion.

The publishing of Deno v1 this week was really what did it. In the post they mentioned writing a TypeScript compiler in Rust. Everything about that sounds fascinating to me.

The Plan

I just completed this egghead course on Rust from Pascal Precht that was a great intro.

I’ve been recommended the following resources, so I’ll try to move through these roughly in order.

I’ll probably try to build a few projects along the way, as that’s often how I really learn. Not sure yet what those may be.

If you’re interested in following along, I’m going to tweet about my progress on twitter and post semi-regular updates here on my site.

Anyway, without further ado, it’s time to learn some Rust. 🦀

Written by Mike Guida who enjoys prolonged outdoor adventures and building stuff with software. Follow him on Twitter