この章では、Java と HotJava に関する一般的な(Linuxに特化したもの ではない)紹介をします。
Java は C++ によく似た、ネットワークを意識した(network-aware)言語です。 しかし、より小さくコンパクトで、クリーンに設計されています。 Lisp のように、ガーベッジコレクターを備えた無制限に拡張可能な 言語ですが、強力な型検査機能をもっています。 ネイティブな機能として lightweight process (スレッド)を実現して いますし、強力なネットワークセキュリティー機能も持っています。 メジャーなアプリケーションとしては HotJavaブラウザ が有名ですが、 Java それ自身は汎用のアプリケーション言語として非常に有望なものです。
HotJava は Java で記述された WWWブラウザです。 他のブラウザに比べて特に優れているのは、それが、APP と呼ばれる新しい HTML 構造体を解釈できるという点です。この APPは、クライアントのマシン上で実行されるJAVAのクラスの一つです。つまり、 Javaを念頭に書かれたWWW文書は、単にデータのみならず、「生きた」コード を含むことができるわけです。
コードオブジェクトを安全にやりとりできるというJavaの能力は、WWW関連 技術の歴史上、Mosaicの最初のリリース以来最大の進歩であるといえます。 最低限でも、これ(訳者:Java)は拡張可能な Webブラウザを提供し、 これによって、新しいイメージフォーマットやタグ形式に対応するために いちいちブラウザをアップグレードする必要がなくなります。
Java と HotJava は James Gosling (Gosling Emacs と NeWS の設計者として よく知られています。)の率いるチームによって Sun Microsystems で開発 されました。
Sun が最後にメジャーな技術標準を設定しようとしたのは NeWS ネットワーク ウインドウシステムでした。NeWS は X よりも技術的な優位性が広く認識されて いたのにも関わらず、X のソースが自由に再配布可能であったために、X が 標準となりました。Sun はこの誤ちから学び、Java/HotJava をはるかに一般に 利用可能とすることにしました。すなわち、非常に緩和したライセンスのもとに ソースをダウンロードできるようにしたのです。(``自由に再配布可能な ソフトウエアとしての Java''の章を見てください。Sun は Sun 以外の環境への 移植を奨励(encouraging)しています。
現在の Netscape は Java を解釈できます。Microsoft はこの技術を1995年12月の はじめにライセンスしました。このため、Java は1996年には非常に一般的に サポートされるようになるでしょう。
Java は昔は Oak と呼ばれていたこともあります。HotJava は昔、WebRunner と して知られていたものです。
Java は現在(1995/12) Sunでかなり最終段階のベータ版になっています。 ホストOS とウインドウシステムへのアクセス方法を規定した Java環境の API は ほぼ固まったようです。まだ拡張されるかもしれませんが、コンパチビリティー を損なうような変更はないでしょう。
この 1.0版の FAQ は、Randy Chapmanによって移植されたベータ1.0版の Linux用 Java開発キット(JDK)に基づいて作成されています。
Javaには、重大なセキュリティーホールが存在していることが知られています。 ですから、今のところ重要なアプリケーションに Javaを使うことは勧められ ません。これらの問題は、正式リリース版ではフィックスされるでしょう。
Sunは<http://java.sun.com>に、とても充実したJavaとHotJava関連の HTML 文書網をはりめぐらせています。 これらのドキュメントは <http://java.blackdown.com> など、いろいろな ところでミラーされています。ミラーサイトに関しては Sun の提供している リストを参照してください。
SunSoft Press の公式な Java 本シリーズは現在 Addison-Wesley で目下 刊行準備中です。 これらに関するいくらか詳細な情報が comp.lang.java FAQ <http://www.city-net.com/ krom/java-faq.html> にあります。
O'Reilly Associates は Sun と協力して独自の Java本シリーズの作業を おこなっています。これらのなかには(少なくとも) "Nutshell Guide To Java" や、言語リファレンス、クラスライブラリリファレンス、基礎となっている バイトコード仮想マシンなどの本が含まれるはずです。 (暴露記事: O'Reilly Associates は、このシリーズの最初の技術的な レビューをおこなうように HOWTO 編集者に頼んでおり、この仕事には 報酬が支払われるはずです。)
Sun の java webページからの情報では "Learning Java in 21 Days" という本が 1995/12に SAMS から出版されるようです。私は近く(Vienna, VA) の Computer Learning Center bookstore で聞いてみたところでは12月の中旬の遅い 頃に出るだろう、とのことでした。 近くの Bookshop/Barnes と Noble/Borders を調べてくれた我々の投稿者の人に よれば、すでに3冊の本があったようです。
情報提供者によると : 「私は三番目の(Tim Ritcheyの)を
「あたしゃ3番目の(Tim Ritcheyの)本を買ったけど、 まあ紙メディアのリードタイムってのは例のごとく長いからさ、CD-ROMに 入ってんのも、アルファ版なのよねー。一応、『これが出る頃にはベータ版 が出てるかもしんないからjava.sun.comで最新情報を得たほうがいいよ』 とは書いてあるけど。それ以外は結構いいんじゃない? 特に『APIの説明 をわんさか載せたってしょうがないからやんないよ、だってそんなことした ら、本のページ数が4倍になっちゃうし、どうせまだまだ変わるし、オンラ インで見られる情報なんだから・・・』なんて(正直に)書いちゃってる点 も含めてだけど」
次の場所にアプレットの WWWアーカイブがあります:
これらのページのほとんどのアプレットはソースコード付きで、 プログラマーはこれらのコードを使うことができます。
他のものについてのポインタ情報を comp.lang.java FAQ から得ることが できるかもしれません。<http://www.city-net.com/ krom/java-faq.html>.