Ruby 1.9.0

遅ればせながら、ようやっと1.9.1、じゃなくて1.9.0がリリースされました。www.ruby-lang.orgのアナウンスも最初に書きかけたときには1.9.0に気づかず1.9.1とか書きそうになったよ……。

そういえば、某所の記事に某所で批判が出ていたので、ちょっとアレンジしてみました(よりいい加減になったような気もするけど気にしない)。

Ruby 1.9.0登場、一気に非互換アップ - 開発者は人柱検討を

25日(日本時間-1時間)、当初の予定どおりRubyの最新版となるRuby 1.9.1ではなく1.9.0が公開された。Rubyオブジェクト指向スクリプト言語。当初からオブジェクト指向設計はよく知らないけどオブジェクト指向プログラミングは大好きという作者の趣味に基づいて開発されたプログラミング言語で、簡単に「オブジェクト指向じゃないとプログラムが書けなくなる」というオブジェクト指向脳が実現できるという特徴がある。日本語圏向けエンコーディングに特化した文字列処理機能が優れていたほか、オブジェクト指向言語でよくみられないinstance_evalやmodule_eval、set_trace_funcのバグを利用したbinding_of_caller、coreを吐かせるのに便利なcall/ccなどの機能が実現されていた。

RubyTwitterの猫画面で一気に知名度をあげた。シンプルな記述でスマートなドメイン特化言語っぽいけど細部の文法にははまったりする点が開発者に注目されている。しかしながら、Rubyを実行するインタプリタがRubiniusやJRubyYARVほど高速ではないと度々指摘されてきた。Ruby 1.9系には新しく開発されたRuby VMが搭載されるといわれていた2.0からちょっと日和ったバージョンで、前評判ですでに優れたAckermann関数ベンチマーク結果を残している。Ackermann関数デベロッパや「->」記法ユーザにとってRuby 1.9.0は待望のバージョンというわけだ。

今回リリースされたバージョンは関係者によるリリース直前の駆け込みコミット釣りまくり版と位置付けられている。このため安定版は依然としてRuby 1.8.6-p111だ。ruby-devやruby-coreでパッチを大量に投げあったりリリースブランチの旗を振ったりする場合以外はRuby 1.8.6-p111を選択する必要がある。1.9系の安定版は1.9.9か、またはそれ以前かそれ以降のバージョンになるだろう。人柱レベルでの採用や地雷除去作業を検討している場合には、今すぐ1.9系の採用を考えておきたい。

(元ネタ: http://journal.mycom.co.jp/news/2007/12/26/003/ )

ちなみにJRubyでの1.9サポートについては、Nutterは「JRuby will allow enabling most Ruby 1.9 features selectively.」とかゆってます。

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-core/14460?14410-14564