Java言語の設計者であるJames Gosling氏は,Lispマシンの上に作られた「Emacs」エディタをC言語/UNIXに移植した開発者として,またSun NeWSウインドウ・システムの開発者として,既に有名だった。PostScriptに基づくNeWSウインドウ・システムの実装を,他ならぬBill Joy氏が「Fun to read, hard to write(読むのは楽しく,書くのは困難)」と絶賛していたことを覚えている。

 Sunの設立メンバーであるBill Joy氏は,UNIXに関わる技術者の間では最大級の尊敬を集めていた。1980年代のバークレイ版UNIX(4.2BSD)で新たに加わったページング仮想記憶やソケット・インタフェースなど重要な機能を開発した人物である。私は1986年から1990年にかけて,UNIX分野の記事を何本か書いたが,その時からBill Joy氏の発言は常に検討に値することを感じていた。

 Bill Joy氏とGosling氏は,Java言語仕様をめぐって対立したことがあるらしい1。Bill Joy氏は最新のプログラミング言語らしい仕様を求めたが,Gosling氏は主張を曲げなかった。例えばBill Joy氏は「パラメータ付きの型」があったらどんなにいいだろう,と言ったそうである。この機能は10年以上が経ってからJava言語仕様に加わった。2004年にリリースしたばかりのJ2SE(Java 2 Platform, Standard Edition) 5.0で導入されたGenericsである。

 Gosling氏は,Javaの開発者会議「JavaOne」の第1回目の基調講演で「“Keep it simple(単純さを守れ)”が開発チームのマントラだった」と述べている。Gosling氏は言語仕様をなるべく小さく保つよう注意を払った。この路線は多数派の開発者の支持を集めた。ただし,Bill Joy氏の目にはJavaは保守的な言語と映っていたようである。「Javaは決して最後のプログラミング言語ではない。だが,Javaは将来のもっと進んだ言語にオブジェクトを提供するインフラとなるだろう」と,Bill Joy氏はJavaOneで語っている。

Sunは「Microsoft対抗」路線を強調

 私とJavaとの出会いの第2段階は,1995年7月のJohn Gage氏へのインタビューである。氏はBill Joy氏のスポークスマン役を務めており,Sunの研究開発分野に関する話を聞く相手として重要な人物だった。

 インタビューで,何気なくJavaについて質問したところ,思わぬ返事が返ってきた。「我々はJavaでMicrosoftを圧倒する」というのだ4。これは,ひょっとすると本気なのかもしれない,と感じた。

 この段階でJavaがMicrosoftに何らかの影響力を持つと考えた人は,少なくとも日本にはほとんどいなかったのではないか。だがMicrosoft自身は違っていた。同社は,いってみれば極度の心配性を武器としてパソコン業界の激しい競争を生き抜いてきた会社である。Netscape Navigator(当時は,Webブラウザの代名詞だった)がJavaを搭載するというニュースが出てからまもなく,MicrosoftもJavaをライセンスした。Internet ExplorerにJavaを組み込み,Navigatorに対する競争力を向上させるためである。Microsoftがライセンスしたことで,Javaはさらに有名になった。

 そして,Microsoftは自社の都合に合わせてJavaに改良を施した。そのことが,1997年から2004年まで続く一連の裁判のきっかけとなる。具体的には,MicrosoftのOSの機能をフルに利用するためCOM(Component Object Model)インタフェースを追加し,同社にとって不要だったJNI(Java Native Interface)やJava RMI(Remote Method Invocation)を外した*4。SunはMicrosoftを提訴した時の記者会見で「JNIやJava RMIの機能をサポートしていないばかりか,約40のJava標準APIが書き換えられている。追加されたAPIがあり,少数のメソッドがサポートされていない」と説明している。

 私は,Microsoftの初期のJava戦略は失敗だったと考えている。COMインタフェースとJavaの組み合わせは普及しなかったし,同社の行動は裁判の火種となった。Microsoft対米司法省の裁判ではこの一件は不利な証拠となったし,2004年4月には19億5000万ドルにのぼる巨額の和解金をSunに支払うことになるのも,もとはといえばこの裁判に始まる一連の争いの結果である。

写真●W第1回JavaOne
Java言語の生みの親であるJames Gosling氏が,基調講演でJavaの歴史と展望を語った。*7(スター・セブン)の試作機も登場した。

 ただ,この裁判はJava技術のデスクトップ市場への普及を妨げた。裁判の進行中,Windows標準搭載のJVMのバージョンは凍結されたまま,何年も放置されてしまった。このことが,デスクトップ市場でJava技術が十分な影響力を持っていないことの大きな原因の一つだと私は考えている。デスクトップ環境でJava技術が影響力を持つには,Windows搭載のPCにJavaが載らないことには話にならない。だがWindowsが標準搭載するJVMのバージョンは,いまだに1997年の水準のままなのだ*5

第1回JavaOneで得た直感

 Javaとの出会いの第3段階は,1996年5月に開催されたJavaOneに参加したことである。Javaのカンファレンスが開かれるのを見て,当時の上司である編集長が「行ってきたら?」と勧めてくれたのだ。

 このJavaOneに参加したことで私の記者人生は変わった。何を大げさな,と言われるかもしれないが,約8年間をJava記者として活動することになった動機,エネルギーを与えてくれたのはこのカンファレンスである。

 第1回のJavaOneは,参加者5000人ほど,そう大きなイベントではなかった。だが会場には異様な熱気があった。*7のプロトタイプを手に講演したGosling氏に,観客は盛大な拍手を送った(写真)。Javaという技術の将来は全く予想がつかない。Webブラウザというキラー・アプリケーションを得て,インターネットが大きな影響力を持つ存在に変貌するという予感は皆が感じていた。その中から「なにか」が起こりそうだという雰囲気があった。


星 暁雄 Akio Hoshi

日経BP Javaプロジェクト 編集委員

1986年より日経BP社で記者兼編集者として活動。1997年から2002年までオンライン・マガジン「日経Javaレビュー」を編集。現在はイベント「J2EEカンファレンス」やメールマガジンIT Pro-Java Radar,単行本の編集などを手がける。Java技術が「軽量化」する動きが予想外に早いことが気になる今日この頃。