セッションの後半にはジェームズ・ゴスリング氏が登場し、現在のJava関連技術の最新状況をいくつかのキーワードと共に紹介した。同氏の話は非常に広範囲な分野にわたっていたため、ここではそのいくつかを紹介したい。

Javaの生みの親 ジェームズ・ゴスリング氏

Javaの役割

まず同氏は、全世界で50億のデバイスの上でJavaが動き、600万人のプロのJava開発者がいる現状を踏まえて、Javaが果たすべき役割について言及した。末次氏が語ったように、全てのモノがネットワークに接続された状況を考えると、そこには様々な問題が発生する。Javaにはそれを解決できるだけの力がある。

例えばJavaを利用すればネットワークを概念的なフレームワークで扱うことができ、現実的には異なるプラットフォームを同種のプラットフォームと見なせるようになる。その結果、あらゆる分野におけるアプリケーションの開発が非常に容易に行えるようになる。

実際、現在ではWebアプリケーションやデスクトップアプリケーションだけにとらわれず、あらゆる現場でJavaが利用されていると同氏は言う。それは医療機関や金融システム、JPL(Jet Propulsion Laboratory)、天体望遠鏡の制御などにまでいたるという。Javaの持つポテンシャルがそれを可能にしているのだ。

Web N

「Web 2.0」という用語はある種のマーケティング上の表現に過ぎないが、その中には優れた要素が含まれており、大いに注目に値するとゴスリング氏は言う。例えばユーザ主導、コミュニティ主導の考え方や、リッチなユーザインタフェースなどである。Web 2.0に含まれるこれらの要素は、Javaが目指していくべきものの良いヒントになるという。

コミュニティ開発

コミュニティ開発というのは、近年のJavaが最も重視していることのひとつである。そのためにSunは様々な試み、たとえばdev.java.netやGlassfishプロジェクト、OpenJDKプロジェクト、OpenJFXプロジェクト、OpenSolarisプロジェクトの立ち上げなどを行ってきた。またコミュニティの手による標準化を実現するために、早い段階(1999年)にjcp.orgを立ち上げている。

この「標準化」もJavaを語る上で重要なキーワードだ。ゴスリング氏は、標準化にあたっては「仕様(Specification)」、「参照実装(Reference Implementation)」、「互換性テストスイート(Compatibility Test Suite)」の3つの要素全てを備えることが重要だと指摘している。なぜならば、仕様だけでは机上のものに過ぎず、実際にそれが動作すること、そして正しく互換性を保っていることが保証されなければ、実際の現場で活用することができないからだ。一般的な標準化プロセスではこのうちの仕様のみが重要視されているが、Javaの標準化プロセスであるJCP(Java Community Process)では、この3つを全て用意することが義務付けられている。

標準化に不可欠な3つの要素

コミュニティ開発に関連して、ゴスリング氏が1年前から始めている試みに「doc.java.sun.com」がある。これはコミュニティ主導で進められているJava関連ドキュメントの翻訳プロジェクトで、世界各国の開発者が参加して様々な言語への翻訳が進められている。翻訳作業には誰でも参加することができる他、翻訳に対する評価付けなどを行う機能も備えている。

オープンソース

Sunは昨年11月にJDKをGPLv2(Classpathの例外規定あり)に基づいてオープンソース化することを発表しており、今年5月にはその成果物となるOpenJDKが正式に公開された。現在はOpenJDKプロジェクトのもとでコミュニティの手によって開発が進められている。現時点ではGPLv2にのみ対応しており、先頃リリースされたGPLv3への対応をどうするかは検討中だという。

JavaFX

前述のように、JavaFXは今年5月のJavaOneで発表されたSunの新しいプロダクトファミリーである。その目的はJavaSEのテクノロジーの上でより容易にRIA開発を行えるようにするというもので、その最初のプロダクトとしてJavaFX Scriptがβ公開されている。JavaFXのGUIはSwingをベースとしているが、それをJava ME端末上で動作させるためのJavaFX Mobileなども発表されている。また、JavaFXアプリケーション開発のためのGUIツールも用意される予定だという。

ゴスリング氏は、JavaFXはデザイナとデベロッパという互いに異なる文化を持つ人々に対し、同じプラットフォーム上で違和感なく開発できる場を提供すると語っている。すなわち、インタフェース・ドリブンなアプリケーション開発に対してGUIツールとスクリプトの双方をサポートすることで、両者が違和感なくコラボレートすることができるということである。JavaFXのコードは最終的にはJavaバイトコードに変換され、Javaをサポートしたあらゆる端末で動作させることができる。

現時点ではJavaFX Scriptのスクリプト・インタプリタのみ利用することができるが、プロトタイプ・コンパイラの開発も進められており、今年のクリスマス前までには公開したいとの考えを明らかにした。

JavaFXが目指す開発フロー

次世代Java

ゴスリング氏はまた、次期バージョンのJavaプラットフォームであるJava SE 7についても言及した。現在はコンポーネントJSRをはじめとした、Java SE 7に導入される新機能についての検討が進められているとのこと。詳細は過去の記事を参照していただきたい。

Java MEに関する興味深い動きとしては、MSA(JSR 248: Mobile Service Architecture)の策定が挙げられた。モバイル端末では独自の拡張機能を持つものが多く、その上に実装されたアプリケーションは端末間の互換性が実現できないという問題がある。そこで端末間の違いを最小限に抑えるために、各端末が共通で備えるべきJSRを定義したアンブレラJSRとして策定されたのがMSAだ。前述のJavaFX MobileもMSAをサポートしているという。

その他、開発者だけでなくデザイナーを対象としたツールを開発中であることも発表された。これはIDEとは異なり、FlashやPhotoshopなどと連携して動作するビジュアルなツールとのこと。名前は未定だが、2008年半ば頃までには最初のバージョンをリリースしたいとの話だ。

このように、ゴスリング氏の話は非常に広範囲に渡った。末次氏がその点を指摘すると、同氏はすかさず次のように切り返した。

「それが問題なんだ。すでにJavaはあらゆる分野で使われている。Javaの世界で何が起こっているかを話してくれと言われたら、非常にたくさんの話をしなければならない。それだけ世の中にJavaが浸透しているということだ」

また、日本の開発者に対して期待することは何かという質問に対しては「特に何も期待していない」と答えた。その真意として以下の台詞が続く。

「携帯電話のアプリケーションなどの例を見てもわかるように、彼らは非常に興味深いことをやってくれる。それは今まで期待していなかったようなことだ。したがって何も期待してはいけないし、開発者は誰も期待していなかったようなモノを作らなくてはいけない」

最後は恒例のTシャツ投げ