Rust at 10: Why I've Followed the Language
- Rust
Rust turns 10! In honor of this momentous anniversary, I'd like to reflect on what Rust means to me, and why I have followed it for so long.
I first heard about Rust in 2021, when I was in my third year of my computer science degree. At this point, I had taken and was taking multiple classes in C, like Computer Architecture, Systems Programming, and Operating Systems. In each of these classes, I had been immensely frustrated with the memory errors I would get and their inscrutability. To this day I have a PTSD reaction to the phrase "Shadow bytes around the buggy address".
Rust seemed like the perfect solution. Memory safety with all the same low-level interaction? Sign me up!
But it became much more than that to me. I noticed that algebraic data types, which I had learned in OCaml in my PrinProg class, were present in Rust, and I was surprised by how useful they were in modeling state, having only used them in a toy context. From generics to the module system, everything about Rust seemed to have learned from the lessons of previous programming languages and improved on them.
Rust was also constantly evolving, which made it exciting to follow. Every six weeks there was a new release, which would invariably have some new feature that people had been requesting. Core libraries like async, error handling, and time objects were shifting in prominence, constantly adding new features. Large projects like the game engine bevy and the web server axum would wow the community on every new version.
At the same time, Rust was being slowly integrated into the business world. The first big news was a blog post from Discord describing how they used Rust to greatly optimize a service they had previously relied on Go for. Microsoft, Google, and Amazon all began to trickle out announcements of how they used Rust to optimize heavily used core functionality.
The biggest deal by far was the announcement of Rust for Linux, where the Linux kernel would, for the first time, allow a language other than C (or Assembly) into the source code. Although it has pretty much only been used for drivers so far, the symbolism of being included in Linux cannot be overstated.
Ten years later, the third-party ecosystem has stabilized significantly, and more and more companies are considering Rust as the developer base grows. Only time will tell where Rust goes from here, but I can safely say that we'll only hear more about it.
More reflections on Rust from well-known community members:
★ Graydon Hoare, creator of Rust: https://lnkd.in/eagHb3Xc ★ Steve Klabnik, a founding member: https://lnkd.in/esJy_PZV ★ Niko Matsakis, compiler theorizer: https://lnkd.in/eKQytR2Z