Rust: What’s Next for the Fast-Growing Programming Language?
The programming language Rust has been growing in popularity over the last couple of years. In its latest developer industry report, analyst firm SlashData stated that Rust has “nearly tripled in size in the past 24 months, from just 0.6M developers in Q1 2020 to 2.2M in Q1 2022.”
The Rust Foundation recently announced its Community Grants Program 2022, which has a budget of $625,000. The plan is to give selected Rust maintainers a grant of $12,000 each. In an AMA (Ask Me Anything) video last month, Rust Foundation Executive Director Rebecca Rumbul said that the grants won’t just be for current maintainers, but to encourage new people to join the project too. “We want to reward people who are already here and who are already doing good work,” she said, “but we want to ensure that Rust is sustainable and that requires a pipeline of people coming through, being able to learn.”
To find out more about Rust’s growth — and why it is increasingly being preferred over traditional programming languages like C and C++ — I conducted an email interview with Rumbul.
TNS: SlashData says that Rust is “the fastest growing language community”. What’s driving this rapid adoption? Is it coming at the expense of older programming languages, like C/C++?
Rumbul: I think there are a number of factors in the growth — the language itself is interesting, challenging and satisfying to build in. The security and memory safety enables people to create with a lot of confidence. The maintainer and contributor community are inclusive and supportive, and Rust is also a great choice for developers looking to enhance their professional prospects, as demand for Rust developers continues to increase.
I’m not sure yet that this growth is at the expense of other languages — we find that Rust users are typically people who are already very familiar with languages such as C++.
I was interested in this comment in the SlashData report: “it is mostly used in IoT software projects but also in AR/VR development, most commonly for implementing the low-level core logic of AR/VR applications.” I’ve been fascinated by the rise of 3D web apps (aka metaverse) this year — why is Rust better than other options for the core logic in these kinds of apps?
A complete AR/VR application can be written in multiple languages. For example, you may use C# and Unity to implement the graphics. Rust is a great option for the underlying core logic of the application because of its safety profile (e.g., catching bugs before runtime and memory safety), availability of libraries (crates), and its ability to create efficient binaries, which may be important for the clients where you want to deploy the application.
In an open source software security plan presented to the White House last week by The Linux Foundation, it states that “memory safe languages such as Rust, Go, and Java” are increasingly preferred over the likes of C and C++. But how does Rust compare in terms of security with the other two languages mentioned, Go and Java?
Depending on the use case or application you are developing, you might prefer one language over another. All three languages are considered “memory safe” because they help developers avoid a class of bugs around how memory is accessed and used. For example, they can prevent buffer overflows, which allow access to memory for malicious purposes. Worms and ransomware attacks could be attributed to bugs like these.
The way the languages manage memory though, are different. Go and Java have automatic memory management during run-time. Rust takes a different approach by ensuring that you have a memory-safe program at compile time before your program is run or library is deployed. A lot of use is very much down to individual preference.
What is the Rust Foundation focused on for the coming year — any special priorities, given the recent growth?
The Rust Foundation is focused on supporting the community, on promoting adoption and on developing a sustainable model to do this. We are soon to announce the recipients of our inaugural “Community Grants Program”, which will include a number of fellowships and project grants, and we will be focused on ensuring that these individuals and projects are supported to make a meaningful contribution to the Rust ecosystem.
We are continuing to invest in securing our infrastructure, and we hope to announce a new hire (Infrastructure Engineer) within the next few months. We also want to ensure that learning Rust is accessible to as many people as possible, and we are working on how we can invest in educational resources.