2015年04月24日

Mozillaが考えるRustの未来

長らくそのポテンシャルの高さとNightly Buildが正義というカオスな世界観で人気を博してきたプログラミング言語、Rustですが、昨年、とうとうバージョン1.0をリリースすることが決まりました。

現在はまだ1.0.0のbeta2の段階ですが、stable版が出る日もそう遠くはない状況です。

Stability as a Deliverable - The Rust Programming Language Blog

To put it simply, our responsibility is to ensure that you never dread upgrading Rust. If your code compiles on Rust stable 1.0, it should compile with Rust stable 1.x with a minimum of hassle.

もうRsutをアップグレードすることを恐れる必要はありません。Rust1.0のstableでコンパイルできたコードは、他のRust 1.xでもほぼ問題なくコンパイルできるようになるでしょう。

ということで、世紀末を生きるプログラマしか生息できなかったこれまでのRustですが、今後は一般ユーザの流入も加速しそうです。

全然関係ない話ですが、Rustと聞くとなんとなくRPGを連想します。Dungeons & Dragonsに出てくるRust monster的な。

話戻してこのRustですが、開発元はMozillaです。

Wikipediaの説明にはこのようにあります。

Rust is a general purpose, multi-paradigm, compiled programming language developed by Mozilla Research. It is designed to be a "safe, concurrent, practical language", supporting pure-functional, concurrent-actor, imperative-procedural, and object-oriented styles.

Rustはマルチパラダイムなコンパイル言語で、Mozilla Researchによって開発されました。safe, concurrent, practicalな言語で、関数型、Actor、手続き型、オブジェクト指向のスタイルを備えてします。

Scalaユーザが反応しそうな説明文ですね。

ということで今日読んだ記事はこちら。

Mozilla sets its sights on Rust's future | InfoWorld

MozillaがPriorities after 1.0という文書で、Rustの今後の方向性や、実装のpriorityについてまとめています。それを受けての記事です。

the most urgent items are better support for Windows and ARM, better library APIs, and faster compilation.

緊急の要件としてWindowsとARMに対するサポートや、ライブラリ API、コンパイルの高速化に力を入れていくとしているね。

これまではUnix-likeのOSを中心に扱い、WindowsではMinGWを利用していましたが、ネイティブでの実装が出るようです。ARMもFirefox OS等で動いたりしているので、この辺のコンパイラの性能を高めるのは重要になりそうです。

あとはCargoというパッケージマネージャーにも力を入れるようです。今のご時世、gemとかpipとかpearとか、なんらかのパッケージ管理的なものがないと厳しいですからね。

ところでRustを使ったプロジェクトって今はどんなのがあるんでしょう。

At least one major project at Mozilla, the Servo HTML layout engine, is being built in Rust.

少なくともMozillaのメジャーなプロジェクトである、Servo HTML layout engineはRustで開発されているよ。

Servoのソースコードを見ると、確かにRustで書かれていますね。

十分な速度とCやGoよりも安全性に重視を置いていると言われているRust。人気もだいぶ出てきている言語ですが、今後、どの程度まで利用されるようになるのか。Goより使われるようになるのか。注視していきたいです。

タグ:Mozilla RUST
posted by newsit at 07:00| programming