Mozillaが支援するシステムプログラム言語Rustのバージョン0.9がリリースされた。1.0マイルストーンに向けて,言語として多数の改良が加えられている。Rustはこれまで,長期にわたるサポートと安定性を備えた言語へと進化すべく,多数の変更を受け続けてきた。開発者であるGraydon Hoare氏は,Rustのターゲットは"C++に不満を持つ開発者"であり,現代的なプログラム言語でC/C++を置き換えることが目標だ,と語っている。
Rustはオープンソースのプログラム言語で,Windows用にはバイナリインストーラが,UNIXベースのシステム(FreeBSD, Mac OS X, Linux)用にはソースパッケージが公開されている。
Release 0.9には注目すべき機能がいくつかある。
- 動的リンクライブラリと静的リンクライブラリのどちらをビルドするか,開発者が選択できるようになった。
- ネイティブライブラリのサポートが拡張された。Rustライブラリのビルドと配布が,ネイティブライブラリを添付することなくできるようになった。
- I/Oインフラストラクチャが完全に改訂された。論理的には,すべてのI/O機能がstd:ioモジュールに配置されている。commモジュール(高レベルの通信を抽象化する)も書き直された。
- libgreenとlibnativeという2つのライブラリが新たに作成されたことで,I/Oがいくつか変更されている。Rust標準ライブラリが特定のスケジュール方法にセットされることがなくなった。プログラムをm:n (m個のアプリケーションスレッドをn個のカーネルスレッドにマップする)あるいは1:1(各カーネルスレッドに対してひとつのアプリケーションスレッド)で実行することができる。これによって開発者は,アプリケーションに最高のパフォーマンスを提供するスレッディングモデルを選択可能になった。
- マネージドポインタ(@マークで示される)が非推奨となった。Rust開発者はRc (参照カウント付きポインタ),またはGc(ガベージコレクション対象ポインタ)を使用するコードへの移行を検討する必要がある。
詳細については,Rust 0.9の公式なリリースノートを参照してほしい。 この言語についてもっと詳しく学びたい開発者には,オフィシャルなRust Tutorial以外にもさまざまなリソースがある – バージニア大学の学部向けOSコースではRustが教えられている。また,Steve Klabnik氏は “A 30 minute introduction to Rust” というドキュメントを準備中だ。