Menu

インターネットの基礎講座

いまさら聞けない Javaってなに?

◆ はじめに

さて、Javaってなんでしょう。
よく、JavaScriptと間違いられますが、似ているけど全く違うプログラム言語です。
こちらは、ブラウザの単なる制御言語で、ブラウザの種類やバージョンによって仕様が違う「めちゃくちゃな言語」です。

一方Javaは、汎用的なプログラム言語の一種で、しかも、オブジェクト指向です。
ただちょっと、普通のオブジェクト指向プログラム言語とは違います。

Javaの特長

それは、どこのPCやPCもどき(以後プラットフォーム)でもプログラムの変更なしに動作することが保証されたプログラム言語なのです。

いままでに、このようなプログラム言語はありませんでした。C言語やPerl言語でさえプログラムの変更なしにすべてのプラットフォームで動作させることは出来ませんでした。
つまり、Javaって結構すごいヤツなんです。

では、このようなメカニズムは、どのようにして実現をさせているのでしょうか。

まず、従来のメカニズムは二通りありました。コンパイラとインタープリタです。
コンパイラはソースプログラムのすべての行を一括に機械語に変換した後、実行します。(Cやコボル)
インタープリタはソースプログラムを一行ずつ機械語に変換して実行します。(PerlやJavaScript)

Javaはこのどちらでもありません。っていうかその両方(折衷案)なのです。

プラットフォームに予め、JavaVM(ジャババーチャルマシン)をインストールします。
そして、Javaをコンパイルすると機械語でなく、JavaVMが理解できるバイトコードという中間コードができます。
このバイトコードをJavaVMがインタープリタのように実行するのです。
つまり、JavaVMがすべてのソフトウエア&ハードウエアの違いを吸収してくれるのです。
ですので、Javaはプログラムの変更なしに動作することが保証されたプログラム言語でいられるわけなんです。

Javaの歴史

ここで、Java の歴史をちょっとお話しします。

サンマイクロシステムズ社のジェームス ゴスリングがオーク言語(UNIXのAWKとは別物)を開発し、同社のキム ポーレーゼという若い美人(本当にカワイイ)がオークからJavaに改名し、Javaブームの火付け役になりました。

1991年にゴスリングは一般消費者向けのテレビ、ビデオを制御するセットトップボックスの開発にあたって、「市場で広く支持される為には、特定のハードやアーキテクチャーに依存しない言語を作り出すことが必要」と思いオーク言語を開発します。

しかし、オーク言語は時期尚早で陽の目をみず、1994年にポーレーゼはアンドリーセンの影響によってインターネットでこそオーク言語の活躍の場だと確信し、名前もJavaに改名して、アンドリーセンなどの支援もあり、一挙にJavaブームになりました。

Javaの今後

さて、現状のWebプログラミングを見ますと、ブラウザ側はJavaScript、サーバー側はCGI-Perlが主流です。
しかし、近い将来、ブラウザ側はJavaアプレット、サーバー側はJavaサーブレットに移行する気配があります。

JavaScriptはブラウザやバージョンなどの仕様アンマッチで部品化が難しく、部品化しやすいJavaアプレットへ移行...。
CGI-Perlはサーバーの種類などの違いによって、やはり部品化が難しく、部品化しやすいJavaサーブレットへ移行...。
しかも、サーブレットはサーバー負荷がCGI-Perlより軽いそうです。
Javaアプレットは、現状ではかなり重たい処理ですが、これも時間が(CPUの性能向上)解決してくれるはずです。

◆ おわりに

というわけで、そろそろ、Javaのお勉強も始めないと、っと思いちょっと一冊のJava入門書読み、ここに感想文を発表しました。

本サイトでも Javaアプレット講座を予定しています。ご期待下さい。では...。

2001/02/06現在、Javaアプレット講座はスタートしています!
是非ご覧ください!


Menu