|Rust 1.0 Alpha Released|
|Written by Kay Ewbank|
|Tuesday, 13 January 2015|
A new systems programming language focusing on safety, performance and concurrency has been released as an alpha version.
Rust is backed by Mozilla and is described on its website as
“a systems programming language that runs blazingly fast, prevents almost all crashes, and eliminates data races".
The language is now feature-complete for 1.0, and the developer team says that in the alpha 1.0 release, API conventions have also been established, and core functionality in terms of the basic types, traits, data structures and concurrency primitives has all been stabilized.
The announcement of the alpha on the Rust blog (http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html) says that only a few modules are still being stabilized, the key ones being path manipulation and I/O. Usability improvements and other non-breakable changes are still being made.
The alpha release has a number of improvements from earlier pre-alpha releases, including dynamically-sized types, multi-dispatch traits, associated types, where clauses, unboxed closures, macros, integer type changes, and opt-in built-in traits.
The dynamically-sized types means that types whose size is only known at runtime (such as array slices and trait objects) are now largely integrated into the language, including basic integration with user-defined smart pointers.
Where clauses provide a new way of specifying trait bounds, and unboxed closures provide greater flexibility for both ownership and choosing static or dynamic dispatch. The macro rules system is described as still suffering from some significant deficiencies, and the developers plan to build a second-generation macro system after the 1.0 release.
The developers have plans for a number of improvements before the next release, including to the associated types and unboxed closures, to generics, and IO.
There’s an introduction to Rust http://rustbyexample.com/ consisting of bite size examples illustrating the concepts.
Rust 0.4 Full Integration of Borrowed Pointers
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: email@example.com