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。
Java2 JDK1.2以降のJavaのこと。
Java_Applet Javaで作られた小型アプリケーションで、一般に Internet  Explorerや Netscape Navigatorなどのブラウザ上で、一定の画面領域を  与えられて動作する。    一般の人たちが「Java」と呼んでいるものはたいていはこの Java Applet  を指す。    基本的に画面への自由な描画、マウスへの反応、キーボード入力などの機  能を持ち、ファイルの入出力機能もあるが、ローカルファイルへのアクセ  スはセキュリティ・ホールになることが分かり、現在のバージョンでは禁  止されてしまった。    →Java_Servlet
Java_Application Javaで作られた、単体で(ブラウザ無しで)動作する  ソフトウェア。実際には、そのマシンに Java_VMと呼ばれるソフトが  入っていることが条件である。  Java Applicationは結構多く作られている。しかしその大半はJavaだけの  仕様ではなく、WindowsのAPIも使っているため、残念なことに Windows  以外では動かない。  Sun Microsystemsには、こういう事態になる前に、Javaだけの機能でもっ  と色々なことができる環境を整備してほしかった。
Java_Beans 「ジャバの種」の意味。Javaで利用できるソフトウェア部品。  種々の機能をパッケージ可しておき、共通財産として利用できる仕組み。  Windows上のActive-X, Macintosh上のOpen Doc などと同様の概念だが、  こちらはJavaなので、機種に依存しない強みがある。むろんWindows上で  は Active X などと連動させることも可能。
Java_Blaster パソコン用の増設ボードで、パソコンをJavaネットワーク  コンピュータに変身させるもの。
Java_Blend Javaを利用してデータベースにアクセスする技術。
Java_Byte_Code Javaのソースをコンパイルして作られる中間コード。  これをJava_VMが実行する。拡張子 .class。
Java_Card Javaの技術で動作しているICカード。Javaのプログラムを組む  ことによって色々な動作をさせることが可能である。
Java_Chip Javaのプログラムを実行できる専用CPU。通常はWindowsやMacintosh  上で JavaのエミュレータであるJavaVMが動作している上で Javaが  実行されるわけだが、JavaChipを例えば携帯端末などに搭載すれば  そのまま Javaがネイティブで実行される。将来ネットワーク・コンピュ  ータなどが普及すると、Java Chipというのは有力な選択肢のひとつと  なるかも知れない。
Java_Class Javaはオブジェクト指向のソフトウェアなので、Classの  集合体として動作する。実際 Java Appletは Classの形式になっており、  そのclassや、その親classで定義された仕様に基づき動作する。  classオブジェクト指向については、同項参照のこと。
javagator Netscape社が開発していた100% pure JavaによるWWWブラウザ。  財政難により開発中止。
Java_IDL (Java Interface Defitition Language) ネットワーク上にある  別のマシン上のJavaプログラム同士が通信するための仕組み。
Java_Linux Linux上に移植したJava