Rust 0.9 Released With Revised Threading Model
Rust, the Mozilla-backed systems programming language, has released version 0.9, bringing with it a host of improvements as the language progresses towards the 1.0 milestone. Rust has been undergoing significant changes as it evolves into a language ready for long-term support and stability. Rust's creator Graydon Hoare has said the language targets “frustrated C++ developers” as it focuses on its goal to be a modern replacement for C/C++.
Release 0.9 marks the inclusion of several features:
- Rust now provides the choice for developers to choose whether to build dynamic or statically linked libraries.
- Native libraries are now first-class citizens, allowing a Rust library to be built and distributed without requiring the accompaniment of native libraries.
- The I/O infrastructure has been completely revised. Logistically, all I/O functionality is now located in the module std::io. The comm module (providing high level communication abstractions) has been rewritten.
- Several of the I/O changes come from the creation of two new libraries, libgreen and libnative. The Rust standard library is no longer set to a particular scheduling method, so your program can run m:n (m application threads map onto n kernel threads) or 1:1 (one application thread for each kernel thread). This allows developers to choose the threading model that will provide the best performance for their application.
- Rust developers should note the deprecation of managed pointers (signified by the @ sigil) and transition code to using Rc (reference counted pointers) or Gc (garbage collected pointers).
For complete details refer to the official Rust 0.9 release notes. Developers looking to learn more about this language have several different resources available in addition to the official Rust Tutorial: Rust is being taught at the University of Virginia in an undergraduate OS course and Steve Klabnik has recently prepared “A 30 minute introduction to Rust”.
Tom Gilb & Kai Gilb Jan 26, 2015