TOPシステム開発> 2007年クリスマスにRuby 1.9.1をリリース
Ruby 1.9.1を試す!
Ruby 1.9.1を試す!

先取り!Ruby 1.9.1

著者:東京大学  笹田 耕一   2007/9/28
1   2  3  次のページ
2007年クリスマスにRuby 1.9.1をリリース

   去る2007年8月4日に「Lightweight Language Spirits(以下、LL魂)」というイベントがありました。そのイベントの1コーナーであるLanguage Updateというコーナーで、スクリプト言語Rubyの親であるまつもとゆきひろ氏、および筆者が次期Rubyの予定を語りました。当日の資料は以下のURLからダウンロード可能です。
Lightweight Language Spirit
http://ll.jus.or.jp/2007/show/Event/Session

   まつもと氏の発表をまとめると、今度のRubyのリリースは次のようなものになるそうです。

  • 2007年クリスマスにRuby 2.0をリリース
  • 仮想マシンYARVが取り込まれ、従来より2〜500倍高速化
  • M17N(多言語化)標準搭載
  • より網羅的なテスト、明確な仕様の提示
  • ネイティブスレッドを利用した並列実行サポート
  • Multi-VMによる独立した名前空間
  • 継続、Fiberのサポート
  • Lazy Collectionによる高効率外部イテレータ
  • 新しいパッケージ機構の導入
  • ネームスペース管理のための機構の導入
  • キーワード引数の導入
  • 「もしかして」機能など、自動エラー修正

表1:Ruby 2.0の予定(仮)

   なかなかアグレッシブな変更、追加機能がたくさんあり、夢ふくらみます。が、これらの新機能の大部分は「嘘」発表でして、まつもと氏の後に続いた筆者が、嘘の部分を指摘していく、という発表になりました。

   というわけで、嘘ではない、次の「Ruby 1.9.1」のリリースは以下のようになる予定です。

  • 2007年クリスマスにRuby 1.9.1をリリース
  • 仮想マシンYARVが取り込まれ、従来より基本性能で5倍、通常アプリケーションでも1.x倍の高速化
  • M17N(多言語化)標準搭載
  • ネイティブスレッドを用いたRubyスレッド(ただし並列化は行わない)
  • 継続、Fiberのサポート
  • 独自のI/Oバッファリング機構とノンブロッキングI/O機構の改善
  • データ構造の改善などによるメモリ効率
  • 新しいライブラリの追加
  • 新しいパッケージ機構の導入(RubyGems)
  • 若干の文法の変更
  • より多くのテストの追加

表2:Ruby 1.9(実際の予定)

   次期Ruby処理系であるRuby 1.9.1は、今年のクリスマスにリリースされる予定です。

   残念ながら、文法の拡張になるキーワード引数やネームスペース、実装の拡張であるMulti-VM対応などは今後に見送られることになりました。新しい仕様については開発者で議論をしたのですが、なかなか合意が得られなかったため、次回以降のリリースになりそうです。新しい文法についてはRuby 2.0以降、新しい機能の追加についてはRuby 1.9.2以降にて追加される予定と思われます。

   Ruby 1.9では、いくつかの文法の追加・変更、ライブラリの追加・修正などが入る予定です。例えば、文法では後置引数の追加などが行われました。仕様変更自体は、あまり普通のRubyプログラミングでは触れないところが多いので、影響は少ないのではないかと思います(そう期待しています)。

   これらの修正点はMauricio Fernandez氏による「Changes in Ruby 1.9」という記事に詳しくまとめられています(ちなみに、Fernandez氏は日本が好きなんだそうで、それっぽいサイトデザインになってますね)。


   以降、本記事ではRuby 1.9.1の大きな特長である仮想マシンの導入、およびM17N対応について簡単に紹介し、実際に開発版であるRuby 1.9.0を試す方法を解説していきます。

1   2  3  次のページ


東京大学大学院情報理工学系研究科創造情報学専攻特任助教 笹田 耕一
著者プロフィール
東京大学大学院情報理工学系研究科創造情報学専攻特任助教
笹田 耕一

趣味ではじめたはずのRubyのVM開発が、いつの間にか本職に。2006年に東京農工大学博士後期課程を退学して現職。言語処理系やOS、並列システムなどの研究に従事。日本Rubyの会理事として、RubyistMagazine(http://jp.rubyist.net/magazine/)の編集なども。


INDEX
先取り!Ruby 1.9.1
2007年クリスマスにRuby 1.9.1をリリース
  Ruby 1.9.1の特長
  Ruby 1.9.1を試そう!