今回も番外編です。決して長くないインターネット普及の歴史(1990年代中頃~現在)のなかで、盛り上がって(あるいは盛り上がることもなく)消えていったキーワードを幾つかほじくり返してみます。

Java:Write once, run everywhere

 1990年代の終わり頃「Java革命」という言葉がネットや新聞紙面を飛び回っていました。もうOS は要らなくなるとか、インテル・マイクロソフトの天下は終わったとか言われて、そして何事もなかったかのように通り過ぎてゆきました。あれは一体何だったのでしょう。

 Javaは米Sun Microsystems社によって開発されたプログラム言語で、仮想マシンコードで動作するという特徴を持っていました。どんなCPU・どんなOSでも仮想マシン(JVM:Java Virtual Machine)さえ実装されれば同じJavaプログラムが同じように動作する理屈で、Sun Microsystems社はこの特徴を「Write once, run everywhere(一度書けばどこでも走る)」として宣伝しました。

 Javaがメディアを賑わしたのは技術的要因だけでなく、Sun Microsystems社、米Oracle社、米Netscape社の3社が共同して「Javaを中心とした次世代ネットワーク構想」をぶち上げたことにありました(むしろこちらの方が大ニュースだった)。その中枢をなすのが「NC(Network Computer)」構想です。NCというのはHDDもCD-ROMも備えない箱で、これにディスプレーとキーボードとマウスを付けてインターネットにつなげば、あとはWebブラウザーだろうがワープロだろうが、Javaアプリを全部ネットからダウンロードしてつかえるよにするコンピューターを生み出すという構想でした。

 Javaが仮想マシンで動く以上NCの中に入っているCPUは何でも良く、たとえOSや CPUのアーキテクチャーが根本から変わろうともJVMの仕様さえ維持すればJavaのプログラムは同じように動作する理屈で、これが「インテル・マイクロソフトの天下は終わった」という下馬評を生むことになります。

 しかし、NCもJavaも当初語られていた未来を実現することはありませんでした。それには Javaの実行にオーバーヘッドが大きく重かったこと、矢継ぎ早のバージョンアップと仕様の混乱、Java実装系ごとの互換性問題、MicrosoftとSunの法廷闘争とWindowsのJVM標準添付の廃止、競合技術の登場など幾つもの要因があります。今日最も普及しているJavaの末裔はおそらくGoogle Androidが採用しているDalvik(Javaの「方言」、基本構想や文法を流用しているものの直接互換性がない)だと思いますが、90年代に語られていた「Java革命」の未来像とはほど遠いものがあります。