情報処理推進機構(IPA)の2005年度上期未踏ソフトウェア創造事業で,東京工業大学大学院 情報理工学研究科 助教授の千葉滋プロジェクトマネジャー(PM)が採択したプロジェクトの報告会が2006年2月24日に開催された。Rubyで生物化学情報基盤を利用するためのライブラリ「BioRuby/ChemRuby」,Webの操作だけで簡単にWebアプリケーションを作れる「Tuigwaa」,次世代のRuby処理系「YARV(Yet Another Ruby VM)」,Javaのテンプレート・エンジン「Maya」の4プロジェクト。いずれのソフトも完成度の高さが目立っていた。Java関連(Seasarファウンデーション)のソフトが二つ(TuigwaaとMaya),Ruby関連のソフトが二つ(BioRuby/ChemRubyとYARV)だったことから,さながら「Java vs Ruby」との声も聞かれた。
最初に千葉PMが「未踏ソフトウェア創造事業は賞金と思われているが,それは誤解。受託開発でちゃんと納期がある。(税金を使っているのだから)納税者の方々への説明責任がある」とあいさつした。
![]() |
写真1 BioRuby/ChemRubyの開発チーム(左端が東京大学 医科学研究所の片山俊明氏) |
---|
![]() |
写真2 BioRuby on Railsのデモ |
東京大学 医科学研究所 ヒトゲノム解析センター ゲノムデータベース分野 助手の片山俊明氏(写真1)は,BioRubyとChemRubyについて発表した。BioRuby自体は約5年前から開発されている。未踏ソフトでは「ドキュメントの整備」「ユニット・テストの追加」「インタラクティブなシェルの開発」「化合物を高速に検索するChemRubyの開発」を実施した。ドキュメントの一例としては,BioRubyへのコントリビュートの仕方を示した「readme.dev」を紹介。これにより開発者が増え,3~4個のモジュールが開発されたという。シェルは,Rubyのプログラムを書かなくてもコマンド形式でBioRubyを利用できるようにするもの。発表では,Ruby on Railsを利用してBioRubyシェルの実行結果をWebページに表示する「BioRuby on Rails」のデモンストレーション(写真2)を披露した。
![]() |
写真3 西岡悠平氏(左)と染田貴志氏(右) |
---|
![]() |
写真4 Tuigwaaのデモ |
フリーランスの西岡悠平氏と染田貴志氏(写真3)が開発したTuigwaa(写真4)は,アンケート集計システムなどデータベースと連携するWebアプリケーションを,Webブラウザからの操作だけで作成できるようにするソフト。Wikiの形式あるいはオフィス・ソフトのようなWYSIWSGの画面でWebページを作成できる。テーブルの新規作成/変更/削除や既存データベースの読み込みも可能。O/Rマッピング・ツールにはHibernateを利用している。発表では,この報告会の申し込みシステム自体がTuigwaaで作られたものであることも明かされた。会場からは,機能追加,デザインのカスタマイズ,国際化,スケーラビリティについて相次いで質問が飛び出すなど,大きな関心を集めた。
![]() |
写真5 YARV開発者の笹田耕一氏 |
---|
東京農工大学大学院 工学部 博士後期課程の笹田耕一氏(写真5)は次世代のRuby処理系であるYARVについて発表した。YARVは2004年度未踏ソフトウェア創造事業(未踏ユース)に採択されており,引き続き2005年度上期に未踏ソフトとして採択された。2005年度上期での改良点は3点。従来のYARVはRubyの拡張ライブラリとして利用する形態だったのに対し,Ruby自体と1体化できるようにした。また,現在のRubyはユーザー・スレッドを利用しているのに対し,YARVではネイティブ・スレッドを利用するようにした。1プロセスに1VM(仮想マシン)しか起動できない点も改良し,1プロセスで複数のVMを並列実行可能にした。YARVは,次期Rubyの公式実装であるRuby 2.0(Rite)で採用される見込み。
![]() |
写真6 Seasarファウンデーション代表理事/グルージェント代表取締役の栗原傑享氏 |
---|
Seasarファウンデーション代表理事でありグルージェント代表取締役の栗原傑享氏(写真6)は,Javaのテンプレート・エンジンMayaについて発表した。ちなみに採択時の名称はMayaだが,現在はMayaaという名称になっている(参考記事)。すでに,6月20日にカットオーバーする某証券会社のサイトに採用が決まっており,証券会社の実名を出した事例紹介を予定しているという。
最後に千葉PMが,自身が開発したJavaバイトコード変換ソフト「Javassist」を例に取り,「ソフトウエアを使ってもらうにはどうすればいいか」について講演した。講演の中では,Geoffrey Moore氏が提唱したChasm理論を紹介した。技術は「Innovators(開拓者)」「Early Adopters(先駆者)」「Early Majority(現実派)」「Late Majority(保守派)」「Laggards(懐疑派)」の各ユーザーの順番に広まり,先駆者と現実派の間に「Chasm(越えられない谷間)」があるという有名な理論である。同氏は,あくまで私見と前置きしたうえで,各ソフトがどの位置にいると考えているかを示した。BioRuby/ChemRubyは「Chasmを越えつつあるか越えたところ」,Tuigwaaは「これからEarly Adoptersを見つけるところ」,YARVは「InnovatorsとEarly Adoptersの間の溝を越えたところ」,Mayaは「Chasmを越える準備ができたところ」だという。
なお,この日はRubyの13回目の誕生日でもあった。Seasar2について講演したひがやすを氏は冒頭で「Rubyの誕生日おめでとう」と祝福。Rubyの生みの親であるまつもとゆきひろ氏もRubyの未来について講演した。