Javaとはどんな言語なのか

Javaって何

Sun Microsystemsの解説ページ によると、 Javaテクノロジーはプログラミング言語とプラットフォームの両方のこと とあります。

プログラミング言語だと考えてよいのですが、他の言語とは違う特徴をいくつか持っています。それは次のキーワードで示されます。

シンプル

アーキテクチャに中立

オブジェクト指向

移植可能

分散

高性能

マルチスレッド

堅牢

動的

安全

それぞれの意味は授業の中で学んでいきます。

プログラミング言語いろいろ

プログラミング言語はたくさんあります。

コンピュータが作られた当初は、電子計算機と呼ばれ、プログラムはすべて機械語で書かれていました。 しかし機械語で開発するのは大変なので、数値計算用、事務処理用、記号処理用の言語として、Fortran, Cobol, Lisp が作られました。 この３つの言語がもとになり、新しい考え方をとりいれて次々と多くのプログラミング言語が作られました。

私が使ったことのある言語 について簡単に記述しておきました。（学内専用）

C言語

BCPL言語、B言語、C言語と発展してきたのでこんな名前なのです。 開発されたのは1972年ごろです。

CはUNIXのOSを書く（移植する）ために作られました。 今ではOSに限らす多くのツールやアプリケーションを記述するのに利用されています。

どんなことでも記述できるように、機械語に近い考え方で作られています。 特に、ポインター、共用体、メモリ割り当て関数は機械語の考え方そのものですね。

Cが普及した理由の１つは「記述しやすさ」にあります。 1970年代は構造化プログラミング の時代で、その代表格がCです。 その後にうまれたプログラミング言語の多くはCの影響を受けています。

オブジェクト指向

1980年代からはオブジェクト指向の考え方が主流となってきました。

オブジェクト指向といえばsmalltalkです。 smalltalkはsmalltalk72、smalltalk76、smalltalk80と４年毎に改定されましたが、 1980年に出たsmalltalk80が有名です。通常はこれを指します。

Javaは

考え方（意味）はオブジェクト指向

書き方（構文）はC

をもとにしています。

バーチャルマシン

Javaはプラットフォームに依存しないで、どんなコンピュータでも実行できることを、目的の１つにしています。 このために、バーチャルマシンという考え方で作られています。

一般に、コンパイラは ソースプログラムを入力として 対象となる(特定の)コンピュータやOS上で動作する機械語プログラムを出力します。

Javaコンパイラは仮想機械(Javaバーチャルマシン)の機械語(バイトコード)を出力します。 バイトコードはJavaバーチャルマシン(以下JVMという)上で動作します。

それぞれのコンピュータ上で動作するJVMを作ることで、同じバイトコードがどのコンピュータでも動作します。

Javaの歴史

1991年

設計、開発開始

1996年

最初のバージョンの公開

1998年

Java2公開