Weekly Top 10

Rubyを飲み込んでしまうJava

2007/05/14

 先週の@IT NewsInsightのアクセスランキング1位は「DVD転送が5秒から4秒に、東大がネット最高速を更新」だった。東京大学を中心としたチームが、10ギガビットネットワークとIPv6を用いて、3万キロに及ぶネットワークでバンド幅の99%を使い切るという記録を打ち立てた。

NewsInsight Weeky Top 10
(2007年5月7日〜5月13日)
1位 DVD転送が5秒から4秒に、東大がネット最高速を更新
2位 IT業界の「3K問題」 NTTデータ社長の考えは?
3位 こんなに進んでる!? 韓国のIT事情
4位 MS、新サーバOSの仮想化技術で「苦渋の決断」
5位 「本家Rubyより速い」、JRuby開発者に聞く
6位 サン、GUI作成向けスクリプト言語“JavaFX”発表、その狙いは
7位 Linuxデスクトップに巨大な市場があるかどうか分からない
8位 SolarisはLinuxよりも優れたLinux
9位 危険なWin 98/Meは使うな、代わりにLinuxがあるよ――IPA
10位 「Javaに並列処理と関数型言語の要素を」、ティム・ブレイ氏

Javaプラットフォームの包容力

 先週、記者はJavaOne取材でサンフランシスコにいたため、個人的に気になったのは、Java関連のニュースだ。

 中でも印象に残ったのは、Java VM上に実装したRubyの処理系「JRuby」の開発者が、JRubyのほうがCで書かれた本家のRubyよりも動作が速いと話したことだ。

 “Java”といったとき、一般的には言語としてのJavaを指すが、サン・マイクロシステムズ自身はJavaテクノロジー、Javaソフトウェア、Javaツールなどの名称を使い分けている。言語としてのJavaは、Javaテクノロジー全体のもっとも重要なピースの1つではあるが、一部分に過ぎない。JRubyやJythonといったほかの言語の処理系がJava VM上で高速に動くとなると、“Java”を使うことのメリットはJavaという言語が持つ良さにとどまらず、Java VMのパフォーマンスの良さやスケーラビリティ、プラットフォームとしての普遍性、豊富なライブラリというJavaの資産を享受できることにあるという事実が改めて重要性を増してくる。

 プロセッサのコア数が増加している現在、「コンカレンシー」や「パラレリズム」といった並列処理のプログラミングモデルがホットなキーワードとなっている。Java VM自体がマルチコアに対してチューンされているため、言語の処理系やコードに変更を加えなくても、高いパフォーマンスが得られるという。

 もし、Javaプラットフォームが、それほど性能が良く汎用的な「言語処理系のプラットフォーム」でもあるとするならば、言語処理系の開発者としても、CではなくJavaという普遍性の高いプラットフォームを利用しない手はない。アプリケーションだけでなく、言語処理系も「Write Once, Run Anywhere」(1度書けば、どこでも動く)となるメリットは大きい。

RubyがRubiesにフォークしてしまう不安

 少し気がかりなのは、Rubyのガバナンスだ。まつもと氏を中心に開発・メンテナンスされているCで書かれたRubyと、JRubyの関係は、今後どのようになっていくのだろうか。Rubyが支持されている理由の1つは、まつもと氏の感性(設計ポリシー)に共感する開発者が多いからだろうから、Rubyが求心力を失うとは考えられない。しかし、バックにサンというブランドを得て、性能や普遍性で勝るJRubyが、Rubyワールドのヘゲモニーをいつの間にか奪ってしまう可能性も否定できない。現在、JRubyはRuby1.8と互換性を持っているが、Ruby1.8から大きな変更が加わるRuby1.9が登場するころに、もし万が一、JRubyユーザーの多くが、そうした変更を嫌ったら、どうなるだろうか? Rubyが、いくつかの“Rubies”にフォークしてしまわないだろうか。ちょうど、BSDがFreeBSD、NetBSD、OpenBSDと分かれたように。

 これは極端な仮説で、たぶん杞憂なのだろう。しかし、Javaが互換性テストによる商標のコントロールや、仕様策定組織の民主的なルール作りといった体制を整えた上でフルオープンソースとしたのに比べて、草の根から立ち上がってきたRubyのほうは、そうした人的、組織的な体制が「暗黙の了解」によってのみ成り立っているという印象は否めない。

 組織論的には独裁者であるリーナス・トーバルズという個人を頂点に戴きながらも、Linuxカーネルは商用利用が進んだ後も民主的に開発が進められてきた。FreeBSDでは個人がトップにいるのではなく、強い権限を委譲されたコミッターを最上位に複数人並べ、より民主的な体制を整えている。同じオープンソースコミュニティでも、ガバナンスという意味でのコミュニティの成り立ちは、ソフトウェアごとに異なる。

 まつもと氏を中心としたRubyコミュニティは、今後どういう体制を整えていくのか。あるいは緩やかで暗黙的な連帯だけで開発を続けていくのか。それは、今後Rubyの受容がどこまで進むのかにも関わってくる問題で、今は誰にも予想ができないことなのだろう。

(@IT 西村賢)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)