BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Ruby 1.8.8およびRuby 1.9.1への道のり

Ruby 1.8.8およびRuby 1.9.1への道のり

Ruby 1.9.1(参考記事リンク)では、Ruby 1.9の安定版が利用可能である。しかし1.9に準拠したライブラリが不足していること(参考記事)や、ツールのサポートにむらがあること(参考記事)が理由で、多くの人が切り替えをいまだに躊躇している。

Ruby1.8.7がかなりの期間利用可能である(参考記事)という事実にもかかわらず、Ruby 1.8.6は、ごく近い将来に整備される予定である(参考記事・英語)。Ruby 1.8.7は、ある議論を巻き起こした。その理由は、1.9からいくつかの機能をバックポートし、(1.8.6と比べると)突飛な変更があったからであ る。そしてそのことが、JRubyチームがしばらくRuby 1.8.7のサポートをしない(参考記事)一因となった。

近ごろ1.8.xブランチの今後についてのその議論は再燃した(リンク)。Ruby 1.8.8が今年後半にリリースされることになっていることがその原因の1つである。

この話し合いの中で、Ruby 1.8.7以降の整備者であるAkinori MUSHA氏(リンク)が1.8.8の計画の論理的根拠を投稿した。

1.9は唯一の未来であり、1.8.6以前は古びた過去である。1.8.7も過去であるが、まだ一歩踏み出せないユーザのために、それほど難しく感じなけ れば、特別なプレゼントとしてruby 1.8.7以降をサポートしてもいいだろう。ruby 1.8.8では、構文上の互換性が追加され、1.9に対して最適化を妥協することなく1つのソースファイルで1.9および1.8.8以降のコードを記述す るのがさらに容易になる。

今なお1.8.6のコードを記述する必要があるが、今後1.9をサポートする意図があるならば、スタートとして警告オプション(-w)を使用して、ruby 1.8.7および来るべき1.8.8のもとで、プログラムの実行を試してみるとよい。

正式な1.8.7には、Ruby 1.9.1からのバックポート機能がいくつかあるが、1.9.1機能を利用する方法は他にもある。非常に便利なのは、1.9.1のFibersであり、Rubyデータベースアダプタの拡張可能性の大幅な改善に使用されている(参考記事)。NeverBlockは「Poor Man's Fibers」で1.8.xサポートをそのライブラリに追加した。

現在このポートは、1.8.6_p287および1.8.7_72に対するパッチの形式で利用可能である(リンク)

Kickball LabsではAman Gupta氏(http://github.com/tmm1)およびわたし(http://github.com/ice799) [Joe Damato]がRuby 1.8.{6,7}向けのFibersの実装に取り組んでいる。それは、「転送」メソッドを除く、Ruby 1.9のFibersに準拠したAPIであり、現在は未実装である。このパッチは、mysqlplusやneverblockでファイバーの使用を可能にする。

 

原文はこちらです:http://www.infoq.com/news/2009/02/ruby188-fibers-in-18

この記事に星をつける

おすすめ度
スタイル

BT