Of all that that have appeared in the last decade, the Rust programming language is certainly up there as one of the most important players. Syntactically similar to C++, but with a focus on safety, the language has changed a lot since its beginnings. Let’s take a look at what it actually is, and why it might get bigger that we probably suspect.
Beginnings and history
Rust started as a part-time project from Mozilla employee Graydon Hoare in 2006. He continued working on it for over three years, at which point Mozilla got involved. In 2009, the company deemed the language “mature enough” to run basic tests and demonstrate its core concepts. It formerly announced it to the public the following year. At that point, development shifted from the initial compiler to the self-hosting compiler written in Rust (rustc). The language successfully compiled itself in 2011.
The Rust Project remained sponsored by Mozilla, but it was still being developed by “a diverse community of enthusiasts from many different places around the world,” with both employees from Mozilla and outside people as well, with over 1,000 contributors. It is, for all intents and purposes, its own independent project.
The first pre-alpha, version 0.1, was launched in 2012. In 2015, the first stable release was finally announced as version 1.0. From that point on, the team focused on a commitment to stability in light of previous multiple changes to the language, but it also promised that it had many improvements in store. Since then, stable releases have been routine every six weeks, and by September 2019, version 1.28.0 was launched, highlighting pipelined compilations.
What does it do?
At its core, Rust’s performance is comparable to idiomatic C++, so far as to be considered an alternative to it. It’s designed to be a language for highly concurrent and highly safe systems under the philosophy of programming in the large, which means maintaining boundaries that preserve large-system integrity. This means Rust has a considerable emphasis on safety, control of memory layout and concurrency.
According to the team, the language is useful for many different situations. For teams of developers for example, the Rust compiler plays a gatekeeper role by refusing to compile code with elusive bugs that are way too common in low-code development, including concurrency bugs. “By working alongside the compiler, the team can spend their time focusing on the program’s logic rather than chasing down bugs,” explains the official guide.
But it doesn’t end there: the team says Rust is also ideal for students and those who are interested in learning about system concepts. “Using Rust, many people have learned about topics like operating systems development.” Meanwhile, the team says companies use Rust in production for a variety of tasks. “Those tasks include command line tools, web services, DevOps tooling, embedded devices, audio and video analysis and transcoding, cryptocurrencies, bioinformatics, search engines, Internet of Things applications, machine learning, and even major parts of the Firefox web browser.”
The reason is speed and stability: “The Rust compiler’s checks ensure stability through feature additions and refactoring. This is in contrast to the brittle legacy code in languages without these checks, which developers are often afraid to modify.” The language is designed to make safe code be fast code too by striving for zero-cost abstractions.
A new future
There are many companies today that work with Rust, apart from Mozilla. Dropbox, Yelp, Cloudflare and even Google and Microsoft are just some of the most prominent names that use the language in their production. Perhaps most importantly, though, products like Firecracker, Amazon’s virtualization technology are being written in Rust.
In fact, Amazon Web Services has officially sponsored the programming language, saying that Rust has had “lots of growth in AWS, with services such as Lambda, EC2, and S3 all choosing to use Rust in performance-sensitive components.” According to AWS, they’ve chosen Rust because of three simple reasons: being “blazingly fast and memory-efficient,” reliability (meaning safety) and productivity with great documentation and a “friendly compiler” with top-notch tools.
While the sponsorship hasn’t been exactly detailed, it will no doubt mean an ever bigger growth for the platform, which will have one of the strongest players in the industry behind it. But that’s not all, because among developers themselves, the group that at the end of the day matters most, Rust has found incredible popularity. If anyone doubts where this programming language might go, just seek the data: Rust has been voted the most-loved language in the annual Stack Overflow survey four years in a row, from 2016 to 2019.