I-13-1. Java言語の歴史、特徴、思想と背景

Javaの基本概念と特有な機能、発展の歴史、Javaが登場した背景と必然性、Java利用のメリットなど、Javaプログラミングを理解する前におさえておくべき項目として、Java言語にまつわる様々なトピックを紹介する。

【学習の要点】

* Javaはサン・マイクロシステムズ社が1996年に発表した言語であり、現在ではオープンソースとして開発が続けられている。

* Javaには、オブジェクト指向、ポインタの廃止、ガベージコレクションを装備等の特徴がある。

* Javaは仮想マシンと中間言語を用い、Write Once、 Run Anywhere を実現している。

* 現在Javaは非常に広い分野で扱われており、技術者としては必須ともいえる言語である。

図I-13-1. Javaプログラムの実行環境

【解説】

1) Javaの歴史

Javaはサン・マイクロシステムズ社によって開発され、1996年に正式発表された。

初期はWebブラウザ上で動く、アプレットという動的なWebページを実現するアプリケーションとして使われていたが、このアプレットとしての役割は Flash などに取って代わられた。しかしその後、Java SEといった基本的な開発環境に加え、Java EEといったサーバサイドのアプリケーション開発に特化した開発環境や、Java MEといった組み込み機器用の開発環境がリリースされた。そして今では、主にサーバサイドの Web アプリケーションや、携帯電話等に搭載されている組み込み機器技術など、非常に幅広い分野で利用されている。

2) Javaの特徴

* 仮想マシンにより環境を問わず実行できるため、環境に依存しないアプリケーションが作れる。

* オブジェクト指向言語であり、コードの生産性が高い。

* ガベージコレクションを備えており、メモリ管理の手間が非常に少ない。

* ポインタを廃止したことにより、不正なメモリ参照が起きなくなった。

* 多重継承を禁止しているため、メソッド呼び出しの際のあいまいさが排除された。

* 静的な型づけを採用しているため、変数に型自体からして違う値などが入って起こるバグを最小限に抑えられる。

* コンパイルしたファイルは中間言語に変換され、Java仮想マシン上で実行される。

3) Javaの思想と背景

* Javaの思想を表す言葉で、『Write Once, Run Anywhere』という言葉がある。これは、プログラムを一度作ってしまえばそのプログラムがどこの環境でも動くということを意味する。

* 大人数でプログラムを作る際、オブジェクト指向であることにより各自が作ったソースを統合するのが簡単になる。

* メモリ管理は非常に複雑でバグの原因やパフォーマンスの低下につながっていたが、ガベージコレクションによってそれらの問題が軽減される。

* ポインタを廃止したことで、ポインタ起因のバグが出なくなった。

* オブジェクトの扱いのあいまいさや複雑さを防ぐため、多重継承を禁止した。

* バグの原因の多くは変数に意図しない値が入ることだが、それを防ぐために静的な型づけが採用された。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。