Rusting Up
I’ve always been drawn to new programming languages. They expand my toolkit and offer a fresh perspective on problem-solving. But, as someone who’s spent most of their career working with managed runtimes like C#, JavaScript, Go, and the like, I’ve generally shied away from close-to-the-metal languages.
However, Rust has piqued my interest. It promises not only lightning-fast performance, but also a clean and thoughtful approach to memory management. And with Rust being the most loved programming language according to the 2020 Stack Overflow Developer Survey, I had to find out for myself what makes Rust so special.
Fulfilling My Curiosity
I’ve only briefly looked into Rust, but from what I’ve seen in the official documentation, it’s designed with the same level of care and thoughtfulness as Go. And while Rust may not be the perfect fit for every use case, I want to learn what Rust does exceptionally well.
Compiling and Feedback
I have experience with a few compiled languages and appreciate their raw performance. But, what I don’t love are the long compile times and unintuitive error messages that often accompany these languages.
Rust, on the other hand, promises fast compile times and helpful error messages. This combination is critical for keeping my focus and streamlining my workflow as I learn a new language. And, with Rust compiling to a single executable binary, deployment is as simple as copying a file.
Going Deeper
Working with high-level languages has shielded me from having to think about the inner workings of operating systems, memory, and networking. But, as I dive into Rust, I’m excited to learn more about the fundamentals of computing.
I’ve always wanted to learn C or C++, but the prospect of managing memory and dealing with undefined behavior was daunting. Rust may provide a more approachable way for me to gain this deeper understanding.
Performance Matters
Rust is fast. Really fast. And that’s a big part of why I’m eager to learn it. The speed of the development process - fast edit-compile-test-run iterations - is crucial for maintaining flow and minimizing interruptions.
Serverless-Ready
The rise of serverless is hard to ignore, and Rust is well-positioned to play a big role. Rust can be compiled to WASM, which runs on many serverless platforms like Cloudflare Workers and AWS Lambda. And, even if WASM isn’t supported, Rust binaries can be deployed natively.
No servers means less complexity, and a clearer state of mind. With serverless, once it runs, it’ll run forever, and the platform takes care of the rest.
The Bottom Line
Rust offers a different approach to the problems I’m used to solving, and there’s so much I don’t know yet. But I’m excited to dive in and see what I can learn.