茨城県つくば市のつくば国際会議場にて日本Ruby会議2010が開催されています。本日は2日目です。本稿では,2日目の模様を随時レポートしていきます。
スタッフは朝8時半に集合して,朝会が行われました。運営上の確認点や注意点に関する情報をスタッフ全員で共有していました。
本日から,ジュンク堂書店RubyKaigi店では,Rubyに関係ある書籍のサイン会が行われます。こちらも要チェックです!
なお,会場ネットワーク状況に関して,RubyKaigi日記にて「RubyKaigi2010会場のネットワークについて」が案内されています。現地で参加する方は確認しておきましょう。
Yuguiさん,Shugo Maedaさん「Ruby 1.9.2 is released! / Rubyコミッタ Q & A」
Yuguiさんによる1.9.2のお話
最初はYuguiさんによるRuby 1.9.2の話からスタートしました。1.9.2のリリースは8月21日にruby-talk:367983にて告知されました。Ruby1.9.2の特徴として以下のようなものがあります。
- IPv6を透過的に扱えるSocket
- 2038年問題に対応したTime
- Ramdom
- 日本の携帯絵文字に対応した encodings
- より便利になったArray/Enumerable enhancements
- 新しいライブラリであるFiddle,Psychの追加
次に今回の1.9.2のリリースまでをふりかえりました。RubyKaigi2009で「2009年のクリスマスリリース」と宣言したが,ここまで遅れた理由として「RubySpec対応」をあげました。「RubySpec」とは,増えだしたRubyの実装に対し,Rubyとしてどう振る舞うのが正しいかを定めるテスト(仕様)のことです。これに対応することで,Ruby1.9がどのよう振る舞うかを定めたかったと話します。RubySpecへの対応について,コミッターの一人である,えんどうさんが壇上にあがりました。また,FFIとfiddleの開発をしたtenderloveさんも活躍をたたえられ,壇上にあがりました。
いろんな改善のされたRuby1.9.2ですが,以下のような問題があると述べられました。
- dl2 の導入により移植性が下った
- Syckの開発者がいなくなってしまった
- Rubyの標準添付になったRubyGemsが1.8の頃と挙動が違う
- 数学関連ライブラリの仕様が安定していない
今後のRuby1.9としては,RubySpecによって他のRuby実装との共通性の基盤ができたため,Ruby1.9としての独自の機能拡張性を模索していきたいと述べられました。独自の機能拡張の候補として「profiler」「tracer」「debugger」「MVM」をあげ,個人的には,dtraceの導入の検討を話されました。
まとめとして,Ruby1.9は仕様をよりかためていくということと,実験的な方法を模索していくことが言及されました。仕様の確定により現在の振る舞いが変わり従来のプログラムが動かなくなる可能性や,実験的な機能の場合は無くなるかもしれないので注意を払う必要があるようです。
公演中,「Ruby1.9.2はbetter 1.9.1」とYuguiさんは,話されていました。そんな1.9.2をわたしたちも早く使っていきたいですね。
コミッターQ&A
後半は,壇上に総勢26人のRubyコミッターが集合して,会場からの質問に答えるという豪華なものになりました。
「1.8と互換性のない1.9のルールで書かれたスクリプトを1.8で実行するときに,動かなくていいのでパースは成功させてほしいのですが可能ですか?」や「MVM(Multi VM)はいつごろ導入されますか?」という質問から「エディターは何をつかってますか?」という質問まで,様々な質問が飛びかいました。また,コミッターのえんどうさんより会場に対し「Rubyの古いバージョンに対して,新しいバージョンの新機能をどんどんいれてほしいか,安定化をめざしてほしいか?」と逆に質問が投げられたりもしました。
このセッションの最後にでた質問で,コミッターのnari3さんより「コミッターとして大事なものは?」という質問に対し,えんどうさんが「継続力」と答えられていたのが大変印象に残りました。

