The latest Stack Overflow survey confirms what we already knew here at Mozilla: Rust is the most loved language for developers with 73% of users saying they want to keep working with it. The same month this survey came out, Developer Analyst firm Redmonk charted Rust’s move on the Github rankings from 46 to 18.
Not only does it provide a unique combination of performance and security, it also empowers novice developers with the tools to start shipping code fast. We asked Dave Herman, Director of Strategy at Mozilla Research for an update on Rust.
Q: How did Mozilla first come to work on Rust?
A: When we first started working on Rust as a research project in 2009, we were looking for better ways to build browsers. We were particularly interested in two things: how to build more ambitious parallel architectures, and how to implement high-performance software without many of the pitfalls and vulnerabilities of C++. We felt there were wins to be had by using a new programming language, one that could enable browser developers to write faster, more parallel, and more secure code.
What has been truly exciting to see is that these same qualities make Rust more broadly empowering: not only does it allow C++ programmers to be more effective, but people who have little or no low-level programming experience are able to create things they’ve never been able to before.
Q: What’s the best advantage for developers?
A: Confidence when doing systems-level programming. For old hands, Rust’s guarantees mean you can spend less of your time and attention on avoiding pitfalls, which makes it possible to reach for more ambitious goals. For newer systems programmers, it means a shorter path to being able to start writing production code.
This second point is worth emphasizing. In traditional systems programming, there’s just an intense amount of discipline you need to learn in order to write production code. Because the discipline takes so long to master, and the stakes of slipping up are crashes and security vulnerabilities, most people will only trust seasoned veterans of systems programming to ship production C++ code. But with Rust, you don’t have to master this discipline to start shipping production code; you know the language has your back.
What’s more, Rust is just a lot of fun to use! I think that’s what really hooks developers.
Q: Who is using Rust besides Mozilla?
A: There’s a growing list of organizations using Rust in production, including Dropbox, Coursera, Chef, Postmates, npm, and many more. Another exciting recent development has been the GNOME community exploring Rust for app development. Of course we don’t expect people to drop what they are already using or rewrite everything in Rust. Rust is extraordinarily interoperable, so you can incrementally add Rust code to your system without a big commitment up front like other languages.
Generally speaking, getting technology we build into the hands of real people doing real things has been central to Mozilla Research’s strategy, from Rust to asm.js and WebAssembly. This is especially important for a development platform like Rust, so it’s great to see the ecosystem growing.
Q: What’s next for Rust?
A: The Rust community has laid out a 2017 roadmap with a single, clear goal: productivity. Rustaceans everywhere are taking a top-to-bottom look at speed bumps and paper cuts throughout the language, ecosystem, and tooling. By the end of the year, we expect to see the experience of Rust become radically more ergonomic for newcomers and experts alike. Some of the cool stuff coming out of this work includes speedier compilation, broader IDE support, easier build system integration, new learning materials, and a more accessible, mature library ecosystem.
Another important trend is the increase in the number of companies and individuals driving Rust’s future. As we see more organizations and companies betting on Rust, they’re bringing their interests, expertise, and contributions to the community. Empowering an ever more diverse group to guide the development of the language is crucial to Rust’s ultimate goal: immortality!
Learn more about Rust in these videos: