Java

Javaは、米サン・マイクロシステムズが 1995年に開発したプラットフォーム独立のコンピュータ言語です。

現在、WWWを見るために使っているマシン・OS(プラットフォーム)は、UNIX、 Windows 95/NT/3.1、MacOS、等々あるわけですが、このような状況でWWWサー バからある一つのプラットフォームでしか動かないようなサービスしか流さな いのはあまりにも他のユーザ・プラットフォームを無視してますね。かといっ て、全てのプラットフォームに対応したサービスをそれぞれ作成するというの も非現実的です。

そこで、Netscape Navigatorのようなブラウザプログラムに「バーチャル マシン」というものを用意し、そのバーチャルマシン上でプログラムが動作す るという仕組みが、Javaの概念です。これならバーチャルマシンが用意されて いるプラットフォームならどれでもOKですね。ブラウザ上で動くプログラムは 「アプレット」と呼ばれます。バーチャルマシンを内蔵したブラウザには Netscape Navigator(Communicator)、Internet Explorer、HotJavaといったも のがあります。

Java言語はC++言語の仕様に良く似ています。ですが、初心者ユーザがハマり やすいポインタや構造体、明示的メモリ管理、等々の点をごそっりと除き、実 にすっきりとしたものとなっています。

インターネットへの接続回線のスピードがまだそれ程速くない現在、Java 言語で書いたプログラムソースコードをそのままバーチャルマシンに送るとい うのはさすがに時間がかかって非能率的ではないでしょうか(ちなみに「Java Script」という同じJavaでも大分毛色の違う言語はソースコードを直接取って、 それをブラウザが解釈する、という仕組みになっています)。Javaでは、ソー スコードを一度「コンパイル」という作業を通して、バーチャルマシンが読み 易い形に変換します。余計な情報も全部落とすので、サイズも小さくなります。 この「コンパイル」という作業にはJDK(Java Development Kit)とい う開発キットが必要となります。現在、次々と各プラットフォーム用のJDKが 発表されています。主なところではSolaris 2.X,Windows95/NT,Linux,IRIX,MacOSといったところです。Windows 3.1用には、 IBMが販売している開発キットがあります。

詳しい言語仕様などの説明は、私と大谷 卓史氏の共同執筆による「は じめてのJava」(技術評論社、定価1,950円、 ISBN4-7741-0277-6)を見て下さい(笑)。本格的に学びたい、という方にはプロ フェッショナルな方達が書いた「一歩先行くインターネット Java入門」(翔泳 社、定価2,800円、ISBN4-88135-351-9)をオススメします。

なお、秀和システムから「はじめてのJava」なる同名の書籍が出てい ますが、これは拙著とは何の関係もございません。お間違えなきようお願い申 し上げます。

このページでは、本を書く過程で作成したアプレットや、その他作ったアプレッ トなんかを紹介していきたいと思います。

Netscape Navigator 3.0のWindows版では、Javaアプレットの動作がおかしい、 という報告がなされています。これは、paramタグを読まない、とい うNetscape Navigatorのバグです。paramタグを必要とするアプレッ トのページを見る時には、表示コードをWesternにしてみて下さい (日本語は化けますが)。また、Netscape社のanonymous ftpサイトで修正DLLが 手に入るので、このDLLに入れ替えることで確実に解決できます。

1996年末、Javaの開発キットJDK(Java Development Kit)の新バー ジョン1.1が登場しました。これは、いままでのJDK1.0.2とほぼ上位互換を保って いますが、いくつかの個所で重大な差異があり、これまでのアプレットが動作 しなくなる可能性があります。このページで紹介するアプレットには、JDK1.0.2, JDK1.1それぞれのソースを用意しましたので、違いを比べてみてください。

Hello World!アプ レット(本に掲載)
画面にHello World!と表示するだけのアプレットで す。
Eyesアプレット (本に掲載)
マウスのポインタに合わせて目玉が動くアプレットです。
Clockアプレット (本に掲載)
現在の年月日と時間をリアルタイムに更新して表示するアプレッ トです。
Simple Animation アプレット(本に掲載)
用意された画像(ここでは車輪)を元にアニメーションを表示す るアプレットです。
3D Mazeアプレット (本に掲載)
3次元迷路を歩き廻ってゴールを探すゲーム感覚のアプレット です。
Memory Checkerアプレッ ト(本に掲載)
現在の空きメモリの状況を表示するアプレットです。
Simple Clockアプ レット
Java Clockアプレットのうち、時間だけを表示するようにした アプレットです。また、いくつかの修正をほどこしています。
String Printerア プレット
Javaが制御出来る色々なフォントを表示するアプレットです。
Windmillアプレット
ヨーデル(?)と共に風車が回るアプレットです。
FileWriteアプレッ ト
ローカルディスクにファイルを作成することを試みるアプレッ トです。
LinkFlushアプレット
イメージを表示し、クリックすると他のページへ移動するアプレット です。

Kenshi Muto ホームページへ戻る