今後のJavaは強力な言語であるよりもシンプルな言語であることを重視--。2003年6月10日(米国時間)に始まったJavaの開発者向け会議「JavaOne 2003」の技術基調講演で,米Sun Microsystems社の副社長兼フェローのGraham Hamilton氏が明らかにした。J2SE(Java 2 Platform, Standard Edition)とJ2EE(Java 2 Platform, Enterprise Edition)の次期版では,ここに主眼を置いているという。

 Hamilton氏によれば,「Javaのプラットフォームは強力だ。堅牢で,信頼性やスケーラビリティがあり,安全。異機種間連携機構もある。しかし時として,強力であることは複雑さにつながる」。そこで今必要なのはJavaをシンプルにすることだという。そうなれば,初心者が気軽にJavaを学び始めることができるし,単純なアプリケーションならば簡単に作れるようになる。「我々は,力強さからシンプルさに視点を移した」(Hamilton氏)。

 具体的にそれを実現するのが,J2SE 1.5とJ2EE 1.5である。J2SE 1.5は2004年の夏のリリースを計画している。J2SE 1.5では,いくつか言語仕様を拡張する。中でもHamilton氏が時間をかけて説明したのは,(1)Metadata,(2)Generics,(3)printf,の3点である。(1)のMetadataは,簡単な宣言を使ってクラスやインタフェース,メソッドなどの属性情報を定義するもの。例えばJavaのソフトウェア部品化の規約である「JavaBeans」に即したクラスを定義するときなどに,その部品の属性情報を記述するのに使う。(2)のGenericsは,いろいろなクラスに通用する汎用的な型を定義するための機能である。C++におけるテンプレート(パラメタライズド・タイプ)に相当する。Genericsが導入されることにより,プログラマの明示的な型変換(キャスト)の手間が減る。(3)のprintfも,同じくC++やCが持っているものだ。データの入出力をシンプルに実行できる。一方のJ2EE 1.5は,EJB 3.0,JDBC 4.0,JAXB 2.0,JAX-RPC 2.0から成る。いずれにも,開発を簡単にするための仕様が盛り込まれているという。具体的なリリース時期は明らかにされなかった。

 また,Javaとスクリプト言語とを連携させる技術も開発中である。具体的にはWebアプリケーションにおいて,スクリプトからJavaのクラスを呼べるようにする。スクリプト言語なら何でも対応できるが,現在最も有力なのはPHPだという。PHPによる開発ツールのベンダーである米Zend Technologies社がこの技術の開発に熱心である。また実際にPHP 5.0には,他のオブジェクト指向言語を呼び出す仕組みが追加されている。「開発者は,Javaを知らなくてもPHPから開発を始めることができる。Javaとスクリプト言語は異なるものだが,競合しない。友人同士だ」(Hamilton氏)。

(八木 玲子=日経バイト)