Developers’ love for Rust has translated into real-world adoption.
On 6/2/2020, TIOBE reported that Rust broke into TIOBE index top 20 for the first time.
The TIOBE index is a long-standing measure of programming language popularity in real-world use. The current top five on that list are C, Java, Python, C++, and C#. Rust is a direct competitor to C and C++ and, to a lesser extent, a competitor to Java and C#.
There were leading indicators for Rust’s rise. It has been StackOverflow’s most beloved programming language for five years in a row with over 80% approval rating from over 50,000 surveyed developers every year. In a recent developer survey from JetBrains, 8% of the nearly 20,000 respondents indicated that they plan to learn Rust next year — making it the fastest-growing programming language. In fact, the JetBrains survey also showed that 67% of developers are using Rust even if they are not required by the boss or being paid (i.e., on hobby projects).
Rust seems to be the only language where more people are planning on adopting it than are currently using it. — Reddit user u/gilescope
But as the popularity of Rust grows, as evident from the TIOBE ranking, more and more developers are getting paid for their Rust work. Rust has been adopted by well known open-source projects such as Mozilla, Deno, and Polkadot. It has also seen significant traction in the enterprise world with companies like Dropbox, Microsoft, Cloudflare, and many others.
Rust promises to deliver high-performance software as C does, but without the memory-related bugs that plagued C and C++. Microsoft said that 70% of all severe bugs in their software are related to memory safety, and this trend is not decreasing. More than 20 years ago, managed languages such as Java and C# were widely adopted to eliminate this class of bugs. Managed language runtimes, such as the Java Virtual Machine and .Net, achieved this through the use of Garbage Collection (GC) at runtime. However, GC also introduces a significant runtime overhead. It reduces application performance, and perhaps even more concerning, it results in unpredictable performance.
The design goal of Rust is to achieve memory safety without GC or any runtime overhead. It provides a zero-cost abstraction from C pointers. Sound too good to be true? Well, the trade-off is usually a strict compiler that enforces memory usage rules. Rust features a strongly typed language design and a sophisticated compiler toolchain. It is very well-received by developers who use it.
The safety and performance of Rust make it an ideal programming language for system applications, replacing C and C++. But Rust’s popularity goes beyond system applications. A few months ago, the Rust community published results from its own developer survey. It shows that most developers use Rust to write web applications, although it is also trendy in areas like IoT and blockchain.
While Rust can compile into safe and efficient native binaries, it is also often necessary to run Rust applications in runtime containers. Such containers provide additional memory safety, access security, code isolation, portability, and manageability. Outside of the browser, Rust programs are compiled into WebAssembly and run in host environments from Node.js, Deno to blockchains.
As a systems language, Rust does have a bit of a learning curve. But it also has an abundance of tutorials for getting started. Check out tutorials and examples to get started on the Rust journey.
The Rust programming language is a dual-licensed open-source project under both the MIT license and the Apache License (Version 2.0). Contributions are encouraged and should follow the Rust contribution guideline.