Yes, I am still learning Rust

07 March 2020

Recently, I got yet another nice email from a “talent sourcing specialist” asking me if I’d like to work for their company. This one stood out from the usual blockchain recruiting spam by actually looking at this blog. And they told me their expectations were lowered by the front matter stating that I’m currently learning Rust (though not too badly, because they actually looked at the commit history and found out it was written in 2015).

This led me to the question if I should change my front matter. (Aside: I did change it, removing the Java reference, because I’m now working with Rust. Yay!) Am I still learning Rust? After 5 years? How time flies!

I used to learn a new programming language every one or two years for a good while. Yes, I’m a programming language aficionado. Still, there’s so much to learn with Rust that I’ve still not finished learning it. To master it might easily take a lifetime. Rust is really huge. But I could quit anytime I want, I console myself as I try out yet another cool technique.

I won’t stop though, because besides being huge, Rust is really fun! Because there’s so much cleverness and attention to the details, new features will interact in absolutely-non-horrible ways. This means that things usually work out completely unsurprising. What’s more, looking for surprises often results in delightful new techniques.

Rust evolves steadily. I’d argue mostly for the better. This may sound like a contradiction – how can something so good get better? – but Rust despite all its greatness still has some rough edges that are continuously sanded down. Also Rust gleefully borrows concepts from other languages to see if they fit.

There’s async fn, const generics (which will take some time to become stable) and there are still some rough edges around procedural macros (with a very interesting RFC which would make them asynchronous as well). A recently found soundness hole around pin will lead to negative impls, which were proposed before but avoided because the interactions were insufficiently understood. I have high hopes for this one. In short, there doesn’t seem to be a dearth of things to learn anytime soon.

So, yes, I am still learning Rust.