The alpha release of Rust 1.0 serves as a big day for the Mozilla supported systems programming language. It’s not the final 1.0 release but it is a next step for the stability of the programming language, which has been developed for safety and speed. All features are in place with no major breaking changes expected. The core libraries are feature-compliant. According to the Hacker News thread, it means, for example, that Rust will now be on a six week release cycle.
The Rust team is asking for more interactions on the libraries associated with the path manipulation and I/O modules, which are still stabilizing. They need more use before beta release. They also need to resolve other issues on part of Rust that have already been marked as stable. It’s recommended that “during the alpha cycle, we recommend using the nightly releases, which will continue to evolve as these APIs take their final shape.”
Rust, the first project for Mozilla’s research and development group, is designed as a replacement for C++. If there’s any reason for Rust then it’s the security it offers as opposed to C++. For example, as cited in an OpenSource.com post, all three exploits found in Firefox during the lastPwn2Own competition were because of C++ (e.g., mismanaged pointers). In Rust, those kinds of programming errors won’t even compile.”
Rus is designed to be memory safe without using garbage collection. According to GitHub, Rust was originally intended by Mozilla to be a platform for prototyping experimental browser architectures. They also wanted it to be more amenable to parallelization and “less prone to common C++ coding errors.”
It’s the early days for Rust. But it has support from people like Armin Ronacher, who wrote this about Rust in October:
Is Rust’s memory tracking concept strong enough that we will accept it as a valid programming model? I am not sure. I do believe though that Rust can stand on its own feet already. Even if it would turn out that the borrow checker is not sound, I believe it would not hurt the language at all to widespread adoption. It’s shaping up to be a really good language, it works really well without GC and you can use it without a runtime.
But there is this question about how a foundation like Mozilla can succeed in making Rust popular. Advocates will cite its practicality, memory sharing and speed. But there are the hard economic factors that have to be considered. Go, for example, is supported by Google. Rust does not have that kind of corporate support though Samsung has put resources into its development.
Feature image via Flickr Creative Commons