A New Version of Rust Hits the Streets
Version 1.9 of the Rust programming language has been released. Rust is a new language with a small but enthusiastic community of developers.
Rust is a systems programming language. It combines the low-level power of C or C++ with features that are more common in high-level languages, like Python, Ruby and Haskell. What's more, it takes a modern approach to memory management.
Older languages, such as C, place the burden of memory management on the programmer. This allows developers to create highly optimized code, but it also makes it possible to introduce serious bugs, especially in complex multithreaded applications. Furthermore, these bugs are not related to the business logic of the system. They're related to the language.
Rust borrows ideas from high-level languages, which manage memory for the programmer. This can prevent many of the bugs that are common in C code. Memory bugs can cause the software to crash and often open security holes that can be exploited.
Although Rust can't eliminate all programmer mistakes, the different approach to memory management does eliminate an entire family of dangerous bugs.
The high-level syntax features mean it's possible to write code that is less verbose and more comprehensible. It gets more done in fewer lines and is easier to understand and debug.
These high-level language features usually carry a heavy performance price, but Rust is highly optimized—programs written in Rust are almost as fast as C++ code. Unlike high-level languages, Rust is designed for systems programmers. It gives developers more control by allowing them to work directly with the hardware. This makes it ideal for high-performance applications, such as operating systems, game engines and Web browsers.
Although Rust is supported by the Mozilla foundation, its mainstream products are still based on C++. Firefox has more than 12 million lines of code, so switching to Rust wouldn't be an overnight project! However, there is an experimental project underway to rewrite key sections of the browser using the new language. So one day, Rust could replace C++ as Mozilla's language of choice.
Version 1.9 brings the language closer to the mainstream. For one thing, the new version of the compiler can target a broader range of platforms.
The standard library has been stabilized. There are some improvements in the error handling strategy that Rust uses. Now programmers have more control over how their programs recover from crashes.
Rust is a promising language that could well become the "next big thing" in the world of high-performance programming.