My Thoughts on Rust's Future: A Positive Outlook
I'm feeling really positive about Rust's prospects of popularity and wide-spread adoption in the future. I've been a part of the Rust community for three years now, and it feels like the stars are starting to align in order to let Rust jump into a position of dominance in the programming language world. There are several different, wide-spread, and mostly unrelated trends that I've noticed are all coming together with positive implications for Rust:
- Lots of focus on increased privacy/security with recent data breaches, hardware vulnerabilities, and software exploits. More and more people are starting to see memory safety and compile-time verification as more than a nice-to-have.
- Pushback against Google Chrome with their adblocker nerfs may bring market share to Firefox, strengthening Mozilla in the process. (Personally, I feel that this is the beginning of the end for the online advertising industry as we know it and possibly the starting point for a shift in power within the tech world). Having Rust as a key part of an increasingly popular browser can only be good for the language + community.
- WebAssembly adoption + popularity growing with WASI and friends; Rust is one of if not the best platforms for Wasm right now in my opinion. As the web increasingly escapes from the confines of HTML/CSS/JS websites, Rust + WebAssembly are perfectly positioned to serve its new needs.
- Mainstream adoption of typed languages in general. TypeScript adoption rates are skyrocketing and a lot of the dev community is coming around to the benefits of type-safe code.
- This one's a bit of a reach, but I think we'll start to see a growth in how much zero-cost abstractions and optimized machine code matter in the future as Moore's law continues to slow down. People will turn to Rust and other compiled languages more and more as the ratio between saved dev time and server costs changes.
At the same time as these external changes that are positive for Rust, there have been a lot of internal changes (as well as many planned) that I feel are good for its future:
- Increased high-profile exposure for Rust and its use by all of the monarch tech companies: Amazon, Microsoft, Facebook, and even Google. Oh, and that time a few weeks ago when a Senator brought it up during a congressional hearing. It's hard to call Rust "experimental," "risky," or "underdeveloped" with that kind of high-profile adoption already.
- Focus on and active improvement of compiler performance. Huge steps have been taken towards improving compilation times recently. Short compile times with features such incremental compilation and responsive in-editor feedback are hugely important to efficient modern software development workflows, and Rust is heading in the right direction for making that as accessible as possible. With the advent of pipelined compilation and
rust-analyzer
moving closer and closer to being production-ready, things look to be getting nothing but better.
- Adoption of async/await as a top-level language construct. As shown by the HTTP Server Benchmark Leaderboard, 4 of the top 5 results (Might be 5/5 - I couldn't find good info about
fasthttp
- and only counting the two actix
-based results once) are async/event-loop based. Rust's first-class support of this paradigm makes it a natural choice for building high-performance async applications.
I'm going to hold myself back from listing the dozens-hundreds of things that already exist which make Rust a compelling choice of programming language - you can find a lot of examples of that elsewhere. My main observation + takeaway is that Rust's future look incredibly bright due to where it's positioned currently and how both it and the surrounding system are moving with respect to each other.
Everything that I can see points to Rust being incrediby well-suited to both the demands of the modern software world as well as the preferences of the modern software developer. It feels like the Rust is simultaneously morphing to make itself as competitive and useful as possible while also already being excellently positioned for the trends of today. I'm really excited to see how it continues to change + adapt going into the future, and I truly think that there's never been a better time to be a Rust programmer.