Javaとはどんな言語なのか
Javaって何
Sun Microsystemsの解説ページ によると、 Javaテクノロジーはプログラミング言語とプラットフォームの両方のこと とあります。
プログラミング言語だと考えてよいのですが、他の言語とは違う特徴をいくつか持っています。それは次のキーワードで示されます。
- シンプル
- アーキテクチャに中立
- オブジェクト指向
- 移植可能
- 分散
- 高性能
- マルチスレッド
- 堅牢
- 動的
- 安全
それぞれの意味は授業の中で学んでいきます。
プログラミング言語いろいろ
プログラミング言語はたくさんあります。
コンピュータが作られた当初は、電子計算機と呼ばれ、プログラムはすべて機械語で書かれていました。 しかし機械語で開発するのは大変なので、数値計算用、事務処理用、記号処理用の言語として、Fortran, Cobol, Lisp が作られました。 この3つの言語がもとになり、新しい考え方をとりいれて次々と多くのプログラミング言語が作られました。
私が使ったことのある言語について簡単に記述しておきました。(学内専用)
C言語
BCPL言語、B言語、C言語と発展してきたのでこんな名前なのです。 開発されたのは1972年ごろです。
CはUNIXのOSを書く(移植する)ために作られました。 今ではOSに限らす多くのツールやアプリケーションを記述するのに利用されています。
どんなことでも記述できるように、機械語に近い考え方で作られています。 特に、ポインター、共用体、メモリ割り当て関数は機械語の考え方そのものですね。
Cが普及した理由の1つは「記述しやすさ」にあります。 1970年代は構造化プログラミングの時代で、その代表格がCです。 その後にうまれたプログラミング言語の多くはCの影響を受けています。
オブジェクト指向
1980年代からはオブジェクト指向の考え方が主流となってきました。
オブジェクト指向といえばsmalltalkです。 smalltalkはsmalltalk72、smalltalk76、smalltalk80と4年毎に改定されましたが、 1980年に出たsmalltalk80が有名です。通常はこれを指します。
Javaは
考え方(意味)はオブジェクト指向
書き方(構文)はC
をもとにしています。
バーチャルマシン
Javaはプラットフォームに依存しないで、どんなコンピュータでも実行できることを、目的の1つにしています。 このために、バーチャルマシンという考え方で作られています。
一般に、コンパイラは ソースプログラムを入力として 対象となる(特定の)コンピュータやOS上で動作する機械語プログラムを出力します。
Javaコンパイラは仮想機械(Javaバーチャルマシン)の機械語(バイトコード)を出力します。 バイトコードはJavaバーチャルマシン(以下JVMという)上で動作します。
それぞれのコンピュータ上で動作するJVMを作ることで、同じバイトコードがどのコンピュータでも動作します。
Javaの歴史
1991年
- 設計、開発開始
1996年
- 最初のバージョンの公開
1998年
- Java2公開