So, Edward Snowden has endorsed the Rust programming language. Google, Microsoft, AWS, Mozilla, Facebook and many other companies are funding its development. Why? I can’t say for sure, but here are a few of the reasons that I like the language so much that I wrote a book about it:
Programming in Rust provides safety guarantees that are not available to programing languages that have safety features bolted on. And unlike languages that provide an equivalent level of safety, Rust is unique in that it does not impose runtime costs.
Other things being equal, the application that uses less memory is cheaper to run. You can run more applications on fewer compute nodes, or you can run your application within a smaller compute instance. An application that can easily scale to serve the next 1,000 users means you’ll spend less money on development also.
The Rust compiler is a coach, not simply a pedantic critic. Your experience with the helpfulness of Rust’s compiler output will make you frustrated with what you encounter from other error messages.
Most programmers are not 10x programmers. Because of its safety safeguards, Rust programmers who do not consider themselves expert are free more willing to experiment — free from the fear that they have introduced security holes or stability issues.
Rust is almost no one’s first programming language. Nor are there many Rust programmers who code exclusively in Rust. Instead, its community is drawn from programmers from many fields. This means that the Rust ecosystem benefits from many ideas that have been incubated and refined, where-ever they first popped up.
Rust is labelled as a “systems programming language”, but don’t allow that to cloud your thinking. Many domains are well suited for Rust development. To draw an analogy, Rust has high dynamic range.
Rust’s design process is highly collaborative. It takes years for an idea to become a stable Rust feature, partially because there are often multiple iterations of thoughtful design.
Incorporating third-party libraries into your project involves adding a single line to a metadata file. No fighting with multiple interpreter versions, incompatible dependencies, strange linker problems, or an arcane module system.
The Rust community’s overarching goal is to empower. As you take the time to learn Rust and become productive with it, you’ll find yourself believing in yourself.