HTTPサーバーとWeb開発

22. Java とは ?

Java はあらゆるプラット・フォームのコンピュータ上で動作する言語であるという一般的な Java の表現は正しくない。
正確には Java インタプリタ(Java の翻訳システム)が搭載されているコンピュータであれば、同じソース・コードで動作することがてきる、というべきである。
事実 SunMicroSystem でも Win XX はまだサポートされていません という表現がある。 インタプリタによって同じソース・コードが使用できることに開発者が意欲を示したのである。Java は今日では 制御機械や携帯電話やビジネスにも幅広く利用されている。

Java がインターネットの世界で成功したのは Java アプレットとしてサーバーからクライアントに自動的に(暗黙的に)ダウンロードされてきてクライアント上で実行され、終了と同時にメモリから消去されてクライアントに Java オブジェクトが残ることはない。
また Java はダウンロード元のサーバーとしか通信することができないので、クライアントに被害を与えるウィルスなどを作ることができない。それゆえ何の警告もなしにダウンロードされてきても問題はないのである。
ところが ActiveX ではクライアントに留まることになるので警告メッセージを出す必要がある。そこがユーザーには受け入れられなかった。
Java はアプレットでは成功したもののアプレットのダウンロードに時間がかかるところからJava アプレットを使用するサイトは敬遠されがちになってしまった。今ではサーバー・サイドでのJava (JSP) が主流となっている。

Java は C++ のクラス概念をやや極端にまで拡張して再利用性に重点を置いている。また C++ の記述を大幅に簡素化しているのでマルチスレッドや TCP/IP通信の記述が容易である。また C++ と同じようにWindows や Linux 用などの GUI インターフェースのクラスも提供されている。
ところが C++ のサブセット版のようなJava では C++ のような細かなGUI などの制御はできないし大いなるバグも多い。例えば Java の学習後に DFU と同じ画面を1週間で開発できたとしたら、あなたはかなり優秀なディベロッパーである。しかし DFU 画面を1週間も開発に要するユーザーがいるであろうか?

Java はまだ発展途上であり今後も簡易言語としての位置に留まることになると予想される。何年かの後には iSeries400 のメンテナンスの大半は Java になると予測する人は Java を使っての 実用レベルの開発をやったことがないはずである。
もちろん iSeries400 でも Java のマスターは開発者にとって必須となることは間違いない。