Ruby/Railsの2010年を(少し)振り返る
年の瀬も(ry
早速、Ruby/Rails関連のトピックを、私の主観的なランキング形式で振り返ってみましょう(元ネタはRubyInsideのこの記事です)。
1位 Ruby 1.9.2、Rails3などリリースラッシュ
8月にRuby 1.9.2とRuby on Rails 3がリリースされました。1.9.2というと、Ruby界隈の人でもなければ、なぜ騒ぐという感じかもしれませんが、ある意味ではこれこそがRuby 2.0正式版ですよね。もちろんRuby 2.0は今後登場予定で、matzさんは構想も話し始めていますが、1.8系との違いや寿命を考えたら1.9系はバージョン2と呼んでおかしくないもので、1.9.1がベータ版、1.9.2が正式版という印象です。
そしてRails 3に関しては、「秒読み段階の「Ruby on Rails 3」登場の意味」という取材記事を書きましたが、まだまだ進化速度を緩めずにマイルストーンを達成。世代交代が始まった1年かなと思います。
そうそう、3月にはRailsの弟分ともいうべきフレームワーク「Sinatra」もバージョン1.0となっていますね。
処理系・フレームワークではありませんが、Railsで人気の高いテンプレートエンジンのHAML/Sassもバージョン3.0とメジャーバージョンが上がっています。RubyやRailsの文化を象徴する「無駄を省いたシンプルさ」を体現した文法ですが、この12月には、さらにSlimというテンプレートエンジンが出てきていて、HAMLを超える驚愕のシンプルさや驚愕の新発想があったりして、この辺りも面白いですね。
2位 各種Ruby実装がマイルストーンに
マイクロソフトの「IronRuby」、ピュアRubyで書かれた「Rubinius」がそれぞれバージョン1.0となりました。ただ、IronRubyについては、ちょっと雲行きがあやしい感じです。マイクロソフトは一時期動的言語の取り込みに注力していて、IronRuby、IronPythonを喧伝し、スタープレイヤーも雇い入れていましたが、ちょっとトーンダウンしていますね。IronPythonについてはとんと聞かなくなりましたし、IronRubyの主要開発者だったJimmy Schementi氏はマイクロソフトを去りましたが、そのときに書いた8月6日付けのブログで、
Overall, I see a serious lack of commitment to IronRuby, and dynamic language on .NET in general.
と書いています。2009年に.NETのDLR(Dynamic Language Runtime)チーム自体が半分に減らされるなど、ちょっと苦しそうです。IronRubyはコミュニティの手に戻して、ということかもしれませんが、実は熱気があった割に.NET上のRubyランタイムにはニーズがなかったということなのではないかと個人的には見ています。.NET開発者にはC#がありますし、逆にRuby開発者は、ことさら.NET環境を使う理由もない、というところではないでしょうか。
メジャーバージョンではありませんが、JRubyは進歩が激しいですね。夏にはバージョン1.5が出ています。8月末のRubyKaigi2010に来日したJRuby guysの1人、Charles Nutterによれば、バージョン1.6では、gem installでCのネイティブライブラリがJRuby環境にビルド・インストール可能になったり、Android上でも走ったりとマルチプラットフォーム化しています。Win32OLEもJRubyから呼べるようになるそうです。
もう1つ、気になるRuby実装は「MacRuby」です。2009年末にLLVMをターゲットに大幅に書き換えられたMacRuby 0.5のベータ版がでていて、この12月にバージョン0.8が出ました。今後はバージョン1.0を目指して安定化に取り組むという話です。LLVMはJavaVMのように特定の言語に依存しない独自の命令セットを持つVMで、実行時の最適化も可能なコンパイラ向けインフラ技術です。CやC++、Objective-C、Fortranなどのフロントエンドコンパイラを使ってLLVM上で実行可能なコードを生成できます。MacRubyはJIT、AOT対応のほか、Mac独自の並列処理フレームワーク「GCD」(Grand Central Dispatch)に対応していることなどもポイントでしょう(Rubyのコンパイルや並列処理対応、MacRuby最新ベータ登場)。
GCDは面白そうだと思うものの、「今さらCocoaで何を書くの? ネイティブアプリ?」というのが個人的な感想でした。ところが、アップルがMac向けアプリの販売チャンネルをApp Storeに追加するという話になり、急に面白くなってきました。Mac App StoreでRubyアプリを提供可能となれば面白いですよね。例えばちょっとした画像系ソフトみたいなものは、MacRuby+Cライブラリで書けるかもしれません。
さて、ランキング形式で10個ぐらい書こうと思ったのですが、ついうっかり1位2位だけで燃え尽き感が出てきました。2010年の振り返りで指摘するべきものは、後は
- MongoDBブーム到来。対応プラグインのMongoidとMongoMapperはどちらがいいかが話題に。結局Mongoidが今はトレンドのようです
- Salesforce.comがHerokuを2億1000万ドルで買収すると発表(初出時、買収額を2桁多く間違えてました……すみません)
- まつもとさんが、Luaを意識した主に組み込み向けのRuby処理系の実装を始めると宣言!
ぐらいでしょうか。結局、全然ランキングになっていませんが、良いお年を!(まだ早い)