Levans' workshop

Experiments and thoughts about Machine Learning, Rust, and other stuff...

Why I love Rust

Disclaimer: This is a subjective and personal point of view. As such, please take it with the grain of salt it deserves.

I just want to share it, hoping I'm not alone feeling that way. 😊

Most Rust aficionados agree on this point: Rust does have a difficult initial learning curve, but it pays off once you've internalized the borrow-checker, stopped fighting it and instead embraced programming following its advice. Then, it releases a large mental burden of tracking memory and thread safety for you, allowing you to focus on the actual logic of your program, rather than trying to avoid shooting you in the feet.

While I completely agree with this description, it is not what personally draws me towards Rust.

Rather, the reason I love programming in Rust is that it fascinates me. It's exactly because it is intellectually challenging, and my brain boils in excitement for a specific class of problems: "What is the rusty way of doing this?".

I started looking at Rust with version 0.11, almost 3 years ago. Since then, I've spent a lot of time watching the compiler and language evolve. While I didn't contribute a lot, I've read with assiduity many of the RFCs. I've studied a large part of the internal details of the standard library and have a rough overview of rustc's guts. Now, my reaction to Manishearth's Rust Tidbits is mostly "Oh yeah, I remember that one, it's nice!". I will not claim I'm a rust expert, but I believe I've a pretty good understanding of it.

And yet, it has still not ceased to amaze me.

Rust is both the programming language I'm the most literate with, and the only one that still amazes me very regularly.

This is why I love it. I feel like there is always a new intellectual challenge to overcome. A challenge that is always fresh and rewarding.

Why does Rust feel like this, while Python, C++ or Haskell do not? I'm not sure to be honest.

Maybe it's the fact that Rust is not yet a fully charted land. A large part of the common wisdom is still to be written, and design-patterns are still in the process of settling. And that Rust itself is sufficiently different from other well known programming languages that their wisdom do not directly translates to it.

Rust feels like an adventure. A compelling and stimulating adventure, that I love to follow and participate in.