Mozilla developers have announced version 0.9 of the Rust systems programming language compiler and tools.
Rust is a systems programming language with a focus on safety, performance and concurrency, and is interesting because of the Mozilla connection and the potential this has to see Rust being used to replace C++ as the compiled language in which apps such as Firefox are written.
According to the announcement of version 0.9, this was another eventful release in which the Rust community made extensive improvements to the runtime and I/O subsystem, introduced static linking and link-time optimization, and reduced the variety of closures in the language.
Version 0.9 also begins a final series of planned changes to how pointers are treated in Rust, starting with the deprecation of the built-in "managed pointer" type and its accompanying `@` sigil (magic symbol), and the introduction of smart pointer types to the standard library.
The next version of Rust is likely to introduce Dynamically Sized Types (DST), as well as the removal of the managed @ pointers.
Corey Richardson, posting in the Rust ‘n Stuffs blog says that:
“box, aka ‘placement new’, along with smart pointer sugar (overloadable dereferencing/borrowing), should also be in by then. We may also see an actual garbage collector.”
Placement new is an extension of the usual new operator that allows you to specify a pointer to the memory you want to use to create an object so partly separating object construction from memory allocation.
In answer to the question, “Is Rust Ready Yet?" Richardson says:
Nope. It still has some work to do. 1.0 is estimated before the end of 2014, though that may slip.
On the ‘still needed’ list is a robust package manager, though Richardson points out the team now has rust-ci, which makes it easy to keep code up to date, and know if a library is up to date.
There are currently two known uses of Rust in production: Tilde is using it in Skylight, and OpenDNS is using it for real-time data processing.
If you want to know more about Rust, Mozilla Developer, Nicholas Matsakis gave this talk at the Linux conference held in Perth, Western Austrailia 6-10, January 2014.