The Python programming language might be the fastest track to a tech job in the US, but, according to developer knowledge-sharing site Stack Overflow, the most loved language of all is Rust, an open-source programming language that was hatched by tech pioneers at Mozilla in 2010.
In fact, Rust has been voted the most-loved language for the past four years in Stack Overflow's annual developer surveys, even though 97% of respondents haven't used it. So how has it become the most-loved programming language?
"The short answer is that Rust solves pain points present in many other languages, providing a solid step forward with a limited number of downsides," explains Jake Goulding on Stack Overflow's blog.
SEE: Six in-demand programming languages: Getting started (free PDF)
Goulding is the co-founder of Rust consultancy Integer 32, so he has a vested interest in Rust's success, but he's also not alone in taking a shine to the young language.
Microsoft is experimenting with Rust to reduce memory-related bugs in Windows components. Every single bug costs Microsoft on average $150,000 to patch and in 2018 there were 468 memory issues it needed to resolve. Over the past decade, more than 70% of the security patches it has shipped addressed memory-related bugs.
Rust concepts are also being used in Microsoft's recently open-sourced Project Verona, an experimental language for safe infrastructure programming that could help Microsoft securely retain legacy C and C# code.
Mozilla Research describes Rust as a "systems programming language that focuses on speed, memory safety, and parallelism".
It's often seen as an alternative to systems programming languages like C and C++ that developers use to create game engines, operating systems, file systems, browser components, and VR simulation engines. Mozilla, which continues to sponsor the project, says programmers can use Rust to make software that's less prone to bugs and attacks.
Goulding points to the rise of TypeScript and Python as a sign that developers "have become frustrated with the current state of dynamic typing in today's larger codebases".
"Statically-typed languages allow for compiler-checked constraints on the data and its behavior, alleviating cognitive overhead and misunderstandings," he explains.
"Rust's static typing does its best to get out of the programmer's way while encouraging long-term maintainability."
The other benefit is direct access to hardware and memory, which lends to Rust's use in embedded systems, bare-metal development, and operating-system kernels, accord to Goulding.
SEE: Microsoft: We're creating a new Rust-like programming language for secure coding
Then there's the memory-safety issues that Microsoft is exploring with Rust to address a systems programming language code base that is expected to live on in perpetuity.
"While some modern development doesn't require that amount of longevity, many businesses want to know that their fundamental code base will be usable for the foreseeable future. Rust recognizes this and has made conscious design decisions around backwards compatibility and stability; it's a language designed for the next 40 years."
But Goulding also acknowledges problems with Rust. One issue is that its strong type system and emphasis on memory safety result in frequent errors when compiling code.