Why I Am Learning Rust

18 Sep, 2024

An important milestone on the path to learning photography is understanding that better equipment won’t make you a better photographer. You can spend countless hours researching the newest cameras and lenses, but if you don’t actually get out and take a lot of bad pictures, you will never be able to take good ones. I used to think the same was true for modern programming languages, until I started learning Rust.

The Rust programming language introduces fundamental concepts (such as the borrow checker and lifetimes) that solve many common problems of native system programming at compile time, without sacrificing performance or hiding implementation details. And that’s huge! Perhaps the most significant advancement in system programming in a long time. For this reason, learning Rust can indeed make you a better programmer, because whether you stick with it or have to go back to other programming languages, you’ll eventually find yourself thinking: what would the Rust compiler do here?

If this was all you knew about Rust, you’d be forgiven for imagining an academic language with limited practical use. But far from it. Rust is a love letter to modern programming practices, written by people who deeply understand programming and want to push its limits. It’s no coincidence that Rust continues to be the most admired programming language and has recently attracted significant investments from Google and Microsoft.

Rust may infamously have a steep learning curve, but it’s a deeply rewarding one. As you progress through your learning journey, you’ll appreciate how every feature in the language exists for a reason: to guide you to write better software, without imposing arbitrarily ad-hoc or “magical” solutions. You’ll find that this same coherence permeates every aspect of the language’s design, from the very basics to more advanced topics like concurrency.

To start your own learning journey, there’s probably no better place than the official Rust Programming Language book. However, if you’re the type of learner who likes to dig deeper from the start, there’s one book I can’t recommend enough: Programming Rust, by Blandy, Orendorff, and Tindall.

Yes, it’s a big book, but it was a real page-turner for me. I often found myself nodding along, filled with excitement as I discovered how Rust found clean and predictable solutions to fundamental, long-standing programming problems. The book is exceptionally well-written by authors who are clearly passionate about this profession. It confidently guides you through not only the features of the language, but also the reasoning behind them.

Since reading it, I’ve started building more and more projects in Rust, which I plan to talk about in this blog.

Until next time!