Java 「ジャヴァ」もしくは「ジャワ」と発音されている。 
 Sun Microsystems が開発したソフトウェア環境であり、新世代のBASIC 
 ともいうべきものである。1970年代に多くのマニアがBASICで簡易ソフト 
 を作ったように、現在多くの人たちが Java で簡単なソフトを作っている。 
 しかし BASIC に著しい方言が存在したように、Javaにも実に色々なものが 
 あり、様々な混乱を来している。 
  
 Javaは1991年頃、はじめ家電製品組込みICのための制御言語として開発さ 
 れた。James Goslingは IBMを経て Sun Microsystemsに入社。当初 NeWS 
 の開発に携わった後、家電用のICの研究プロジェクト「ステルス計画」に 
 参加する。 
  
 この開発チームは当初C++でソフトを組んでいたが、色々不満な所もあり、 
 いろいろコンパイラを改造している内に OAK というシステムにたどりつ 
 いた。彼らが考えたことは3つ。 
  
  ・家電品用のICは高価なものでは困る 
  ・家電品の制御には絶対にバグが許されない。消費者は先進性より安定 
    性を求める。 
  ・家電のCPUは頻繁に変更されるので、ソフトは移植しやすいものでな 
    ければならない。 
 この OAK が後に公開されることになった時、商標権の関係でその名前が 
 使用できず、新しい名前としてJava が採用された。 
  
 Javaがもっとも注目されたのはその「移植しやすさ」、そして安定性で 
 あった。Java というと日本では「ジャワ・ティー」という連想が働くが 
 アメリカでは「ジャワ・コーヒー」という連想になるらしい。Javaという 
 名前は、この言語を使って、コーヒーでも飲みながら気軽にソフトを組ん 
 で欲しい、という意味である。日本で「モカ」がコーヒーそのものを意味 
 することがあるように、アメリカではJavaそのものがコーヒーの意味にな 
 るらしい。 
  
 (Oakという名前はGoslingが名前を考えていた時、ふと窓の外に樫の木が 
 あるのを見たからだという)  
  
 1994年頃、インターネットが話題になると、プロジェクトのメンバーの 
 Patrick Naughton は Jonathan Payne とともに Javaで WWWブラウザを 
 組んでしまった。当時は Web Runner と呼ばれたのが、後の Hot Javaで 
 ある。Sunはこれは使えると判断。1995年3月、Javaと Hot Java を Sun 
 World 95 で発表した。 
  
 (Javaに詳しくない人の誤解をひとつここで解いておくと、Hot Javaと 
 いうのは、Netscape Navigatorや Internet Explorerと同じブラウザで 
 ある。ただこのブラウザ自身がJavaで書かれていることが面白いのである) 
  
 この Hot Java の登場で、今まで「見るだけ」であったホームページの 
 世界が突然「対話できる」ものに変身した。このことに即反応したのは 
 当時、WWWブラウザ市場を事実上独占していた Netscapeである。Netscape 
 は1996年、Netscape ver 2 を出して、このブラウザ上でも Javaが 
 動くようにした。 
  
 Netscape上で Javaがサポートされたことは非常に大きなことを意味して 
 いた。Microsoftはこの年 Windows 95を発表して、それまで多くのライバ 
 ルと戦ってきたパソコンOSの世界に事実上の決着を付けた。 
  
 Windows95の前に、MacintoshもOS/2もNetWareも撃沈した、と思った所で 
 Microsoftは思いも寄らぬ所から喉元にナイフを突きつけられたのである。 
  
 Netscape上でJavaが動く。そのNetscapeはWindowsでも、Macintoshでも、 
 さらには UNIXでも動作する。ということは、ソフト作者がJavaでプログ 
 ラミングした場合、マシン自体は SPARCでもインテルでもモトローラでも 
 全然構わないし、OSもWindows,Macintosh,Unix関係無いことになる。 
  
 この技術が定着したら、Microsoftはその優位性が一夜にして崩壊してし 
 まうのである。 
  
 Microsoftはそもそも今までインターネットにまじめに取り組んでこなか 
 ったことを後悔していた。そこで必死になってこれを追い掛け始めた。 
 Microsoftの凄さというのは一時期のIBMの凄さに通じるものがある。つま 
 り出遅れたと気づいた時、必死に追い掛ける姿勢である。 
 Microsoftは自社開発のInternet Explorerなるブラウザを大規模な人数を 
 投入して開発。このInternet Explorer上でもちゃんと Javaが動くように 
 した。そして Sunが提供していた JDK よりも使いやすいJavaの開発キット 
 Visual J++ を格安の価格で公開するのである。 
  
 しかしこの辺りから Sun と Microsoftは対立しはじめるようになる。 
  
 SunはMicrosoftに Javaをライセンスした訳だが、Microsoftは Sunの仕様 
 に完全には従っていなかった。また Sunの仕様では当時まだ日本語が扱え 
 なかった。そこで Microsoftは見切り発車して独自の仕様で日本語が使え 
 るようにした。この仕様は後に標準のものに合わされたが、その頃から 
 今度はMicrosoftはVisual J++ でWindows用のアプリケーションも作れます 
 などといったJavaの理想を踏みにじる行為を行い始めた。これらの行為に 
 対して Sun は異議を唱え、結局法廷闘争に持ち込まれる。 
  
 しかし法廷論争になってしまったこと自体が Sunの敗北を意味していた。 
 論争に決着が付くまで、全てのプラットフォームで共通に動くソフト環境 
 というものは実現しない、ということを意味するからである。Sunは何とか 
 Microsoftを説得して、早い時期での和解の道を探るべきであった。 
 2002年現在、Macintosh やUnixの利用者、またWindowsでもNetscapeや 
 Operaの利用者は比較的最新のJavaが利用できるが、Windows+IEの利用者 
 は JDK1.1相当のJavaしか利用できない。またJDK1.1が入っていると、 
 Netscape6.xが起動できないという問題も起きている。またサンとの裁判 
 の結果に従えば今後はもうMicrosoftは自社のJava VMをもう出荷できない。 
 そのため今後Microsoft製のJava VM利用者はバグフィックスさえしてもら 
 えないのである。 
  
 SunはWindows+IEの利用者のためにJava Plug-in というソフトを用意して 
 おり、これを入れれば Windows+IEの利用者でも最新のJava環境が使用で 
 きるが、このことはあまり周知されていない。またMicrosoftはSun製の 
 Java VMを入れた場合の動作は保証できないと言っている。そもそも 
 Microsoft製とSun製の両方のJava VMがインストールされているときに 
 実際にどちらが起動されるかは不明という説もある。しかしMicrosoftの 
 VMは「アンインストール方法が提供されていない」のである。完璧に 
 利用者を無視した「子供のけんか」状態である。 
  
 こういう事態を招いたのは、MicrosoftがWindowsにこだわりすぎている 
 ことと、SunもまたJavaに対する自社の権利を主張しすぎたことからで 
 あろう。Microsoftもこういう新しい技術にもう少し寛容に対処して欲し 
 かったし、Sunもいっそのこと、Javaの権利を自社とは無関係の公的な 
 機関に委譲してしまっていたら対立も起きにくくなっていたであろう。 
 →.NET,JDK,J2SE

Javaのバージョン Javaの主要なバージョンには下記のようなものがある。  JDK 1.0 サンが1996年1月23日にリリースしたバージョン。        機能が低すぎたし日本語も扱えなかったので用途は限られていた。        MicrosoftのVisual J++ 1.0はこのJavaのバージョンをベース        にして日本語の取り扱いなどでMicrosoft独自の拡張を行った        もので、この時まではMicrosoft版は好意的に受け止められた。  JDK 1.1 サンが1997年2月19日にリリースしたバージョン。        やっと国際化対応により日本語が取り扱えるようになった他        AWTの搭載などで、ようやく言語としての基本ができた。        Javaの事実上の出発点でもあり、またある意味で終着点でもある。        SunとMicrosoftの不毛な争いにより2003年までJavaアプレットの        開発者はずっとこのバージョンでソフト開発を続けざるを得なかった        のである。  J2SE 1.2 サンが1998年12月8日にリリースしたバージョン。        開発コードネームPlayground。サンはこのバージョンから"Java2"        の名前を使用している。Swingが使えるようになった最初の        バージョンである。  J2SE 1.3 サンが2000年5月8日にリリースしたバージョン。        開発コードネームKestrel。        その後のJavaのベースとなった版でこれ以降のJavaの互換性は高い。  J2SE 1.4 サンが2002年2月6日にリリースしたバージョン。        開発コードネームMerlin。        正規表現やXMLの処理機能を搭載した。  J2SE 5.0 サンが2004年9月30日にリリースしたバージョン。        開発コードネームTiger。バージョン番号の数え方が変わった。        型の柔軟性やforeachの導入など、使いやすさが増している。  Java SE 6 サンが2006年12月11日にリリースしたバージョン。        開発コードネームMustang。バージョン番号から".0"が外れる        とともに"J2SE"から"Java SE"に名称変更が行われた。  Java SE 7 サンが2008年のリリースを目指して開発中のバージョン。        開発コードネーム Dolphin。