Rust has consistently ranked as the “most-loved” programming language by developers on Stack Overflow for over four consecutive years. However, the latest survey by Rust project reveals that the programming language has an adoption problem among developers and organizations.
This issue of slow adoption of Rust programming language was first noticed in Stack Overflow’s 2019 survey. There we saw that majority of developers had a positive outlook towards Rust, but 97% of them had never actually used it.
RedMonk analyst Stephen O’Grady rightly summed up this behavior in January as “the shiny language (Rust) that many have argued should be used as the basis for more core infrastructure projects moving forward, remained flat” in the programming language rankings.
The latest Rust survey was conducted among 4000 developers who speak 14 different languages. In this report, Rust maintainers have highlighted the reasons behind the decline in its popularity and slow adoption.
Reasons Behind Slow Adoption Of Rust Programming Language
“The results show the overriding problem hindering the use of Rust is adoption,” writes Rust project.
Full-time Rust developers are usually those who work on back-end web apps, distributed systems, and embedded systems. On asking why developers have stopped using Rust, the most common response was that their employer doesn’t use it — implying there is an adoption issue.
However, that’s not the only reason. The following were the most common reasons for the slow adoption of Rust:
- Lack of necessary libraries
- Lack of Integrated Development Environment (IDE) support
- Learning curve
- Interoperability with other languages
According to most respondents, the Rust project could improve the language’s adoption by providing better training and documentation, more libraries, IDE integration, and improved compile times.
“Compiling development builds at least as fast as Go would be table stakes for us to consider Rust,” said one respondent.
The survey also showed that one in five Rust developers do not feel productive in the language. “As a small business, even 4-6 weeks to become productive is a lot to ask,” said another respondent.
Perhaps complete learning resources and advanced production capabilities would make Rust more appealing.
On asking what languages they would want to be interoperable with Rust, C language was the highly nominated one, followed (somewhat surprisingly) by R, that was followed closely by C++.
Also Read: Most Popular Programming Languages In 2020
Other significant observations
As far as IDEs are concerned, the three most popular ones among Rust developers are Microsoft’s Visual Studio Code (VS Code), followed by Vim and JetBrains’ IntelliJ.
About half of Rust developers are building on Linux systems, while less than one-fourth are working on Windows and the same number of developers on macOS.
The Rust project also surveyed the learning-curve challenges faced by developers. It was observed that 37% of Rust programmers felt productive within a month of using it, whereas 21% said they didn’t feel productive even after a month.
Apart from all the disappointing stuff, there was one positive observation: Daily use of Rust programming language rose slightly from 25% last year to 27.63%. Meanwhile, the daily or weekly usage increased from 66.4% to 68.5% in 2018-19.
Despite the slow adoption rate, this year’s survey showed that 82.8% of respondents are using Rust in comparison to 75% in the 2018 survey. Meanwhile, this year 7.1% said they don’t currently use Rust but have done in the past. Now, this number is a bit smaller than the 8% recorded last year.
Despite all odds, Rust is here to stay
Rust programming language, which was developed by Mozilla, has become quite popular among a faction of developers. It includes Microsoft engineers who are experimenting with Rust to reduce memory-safety flaws of C and C++ in Windows components.
Just like C and C++, Rust has a minimal and optional “runtime.” But unlike C and C++, Rust has robust safety features. Unless you explicitly opt-out by using the “unsafe” keyword, Rust is completely memory safe. It was designed to allow developers to code without worrying about memory safety bugs.
But even though Microsoft wants to make Windows 10 more secure by using Rust, it cannot just throw away the old Windows code. Hence, Microsoft is trying to rewrite low-level Windows components in Rust — under its Project Verona initiative. In fact, to tackle the entire situation, Microsoft is also working on a new Rust-based ‘Memory Safe’ programming language.
Meanwhile, Mozilla used Rust in the Quantum version of its Firefox browser engine. Last year, Amazon Web Services (AWS) also decided to fund the Rust project after adopting it for performance-sensitive components in services like Lambda, EC2, and S3.
Interestingly, Google once used Rust programming language in several components of Fuchsia, which is touted to be the replacement for Android. However, after reassessment, it decided not to support Rust anymore because none of its current end-developers were using it, and it was neither a widely-used language.
Nevertheless, I’d say that Rust is loved and its language design is largely appreciated, but the language hasn’t yet been used as widely as it deserves to be. And despite the survey conclusions above, I believe that Rust is here to stay!