BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 2017年,Rustはどこへ向かうのか

2017年,Rustはどこへ向かうのか

ブックマーク

原文(投稿日:2016/10/28)へのリンク

Rustコアチームは先日,Rust言語の今後1年間のあるべき場所の定義を目的としたロードマップ案決定した。Rustユーザを対象として2016年に実施した調査の結果を一部取り入れるとともに,速度と信頼性を犠牲にすることなく,Rustの生産性を向上することを最優先課題としている。

具体的に2016年の調査で明らかになったのは,学習曲線,ライブラリやIDEの欠如,言語としての“成熟度”に対する懸念,コンパイラのパフォーマンスといった,Rustを採用する上での障害の存在だ。提案された2017年のロードマップではこれらすべてに対して,改善のための詳細なアプローチが提示されている。

学習曲線

Rustの学習曲線については2016年調査の回答者の4分の1が言及しており,所有権の概念に基づいたメモリ管理モデルとして,Rustがいまだメインストリームになり得ない理由の一部となっている。Rustチームが実施を計画している戦略は,ドキュメント,言語のエラー処理機能,ツーリングの改善だ。

ツーリング

ツーリングに関してRustチームが考えているのは,エディット-コンパイル-デバッグサイクルとIDEの改善だ。エディット-コンパイル-デバッグサイクルについては,すでにいくつかの作業が行なわれている。具体的には,シンタックスシュガー解析へのMIR(Mid-level IR)の導入,型チェックと変換に関する表現の簡易化,アルファリリースに到達したばかりのインクリメンタルコンパイルなどだ。さらにチームは,“実行速度の遅過ぎる”デバッグビルドと“ビルド速度の遅過ぎる”リリースビルドという,現在のバランスの改善にも取り組んでいる。

Rustのエコシステム

生産性向上に向けたもうひとつの重点が,Rustのライブラリエコシステムの充実だ。これには2つの面がある — ひとつは,品質メトリクスを示すバッチや継続的インテグレーションのサポート,選択したクレートのAPIレビューの実施など,高品質なクレート(crate)を見つける手段の提供であり,もうひとつは,サーバ用のクレートやコンカレント/非同期/並列処理の開発といった重要なタスクに対して,1.0レベルのクレートを提供できるように,Rustのエコシステムが成長することの必要性の認識である。

相互運用性

実運用でRustを使用する場合,既存のビルドシステムへの統合や,C++コードとの相互運用が求められることが少なくない。この2つの要求に対してRustチームが目指すのは,既存の開発構造に対してRustを容易に統合可能にすることだ。特にC++ライブラリを使用する場合に,C++で使用する場合よりも極端に困難であってはならない。

ここにあげたのは,2017年に向けて提案されているRustのロードマップの概要である。ロードマップの詳細,欠点や代替案などに関する議論,未解決の問題についてはRFCを参照してほしい。

 
 

この記事を評価

関連性
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT