Every new programming language needs to build from its core supporters to reach developers and organizations and ensure a bright future. It seems that Rust, a language created at Mozilla, has managed to do that since it reached version 1.0 in 2015.
The Rust project’s developer survey from the first quarter of 2020 attracted less than 4,000 developers, many of whom didn’t use it regularly. The project’s September 2020 survey drew a record 8,323 responses and 83% of them said they actually used Rust.
With the weight of engineers at Microsoft and Amazon Web Services (AWS) behind Rust, it’s turned a corner from being Stack Overflow’s “most loved” language that was used by few to one of the top programming languages.
SEE: Hiring Kit: Python developer (TechRepublic Premium)
From the outset, Mozilla wrote its experimental Servo rendering engine in Rust, but now Microsoft has started exploring it to eliminate memory bugs in C/C++ Windows and Office code, and now AWS treats the language as a critical component to its long-term strategy for developer tools, infrastructure, interoperability and more. For AWS, Rust is now up there with C++ and Java. In June, Rust popped up in programming language popularity index Tiobe’s top 20 list.
Rust has faced obstacles because of the learning curve required, and a shortage of software libraries, while organizations have been in invested in other languages. These days Rust is winning over developers through its engagement with contributors and commitment to improve things like the Rust compiler, packages, and crates.
Rust is also being used more frequently now on reasonably sized projects. Last year, 34% reported using it for projects with at least 10,000 lines of code, whereas this year the figure for that measure in September’s survey was 44%.
But the project notes that Rust needs to do more to improve interoperability with dominant languages like C, C++ and Python.
For example, the most highly demanded features among Rust users who work on codebases with 100,000 lines or more are better C++ interoperability and faster compile times. The top languages Rust users want improved interoperability with are C++ (21.7%), followed by C (17.6%), Python (16.9%), JavaScript (11.2%), Go (10.3%) and Java (7.7%).
Half of the respondents felt that Rust compiles times have improved, in particular for large codebases with at least 10,000 lines of code. Two-thirds of respondents believed there is now better library support, too.
The Rust survey also found that respondents have seen that the language’s stability has been improving through rust-analyzer, a project that’s bringing better support for code editor features within Emacs and Vim, as well as Microsoft’s cross-platform Visual Studio Code.
In total, 47% of rust-analyzer users found “a lot of improvement” in the feature while 40% of IntelliJ from JetBrains users felt that way too.
SEE: Programming languages: Microsoft TypeScript leaps ahead of C#, PHP and C++ on GitHub
On the stability front, the Rust project notes that over about a quarter of respondents were on the bleeding-edge “nightly” release of Rust because they found it “stable enough”. The rest were using the current stable release.
The most prevalent reason for developers’ code being broken was new warnings to a code base where warnings break the build. But the project notes that this is not part of Rust’s stability guarantee, even though Rust is designed so that new warnings don’t break dependencies.
“Since we rely on nightly testing to catch regressions, this is a very good sign: nightly is stable enough to be useful while still allowing for continual changes,” the project notes.