プログラムはコンピュータに人間がやらせたいことを書いたものです。コンピュータに人間の意思を伝える言葉のようなものなのでプログラム言語と呼ばれることがあります。人間の言葉にも日本語や英語、フランス語、中国語といろいろあるようにプログラム言語にもいろいろな種類があります。
プログラミング言語もハードウェアの進化とそれに伴うソフトウェアの規模の拡大につれて進化してきました。とはいうものの、FORTRANや C のように古くに作られて長く主流にのこる言語もあれば華々しく現れてすぐに忘れられる言語もあります。また、主流にならなくても Smalltalk の様にのちの言語に大きく影響をのこすものもあります。
ここでは主要な手続き型言語の系譜をあげます。下に行くほど新しいのですが、下に行くほど優れているというものではありません。
右側にある黄色い背景の言語はスクリプトとも呼ばれる言語で比較的小規模なプログラムを手軽に書くためによく使われるものです。
この他にも宣言型の言語など考え方や目的を異にする言語があります。どれか優れているものが残るというよりは問題によって長所を生かしながら使いわけていくという方向にすすむと思います。
Javaは Sun Microsystems が作った言語です。2007年にオープンソースとなり、ソースコードがGPLの下で公開されました。これを基にオープンソースによるJavaの実装である「OpenJDK」が始まっています。しかしsunもJDKを公開しています。同じ言語使用の元、異なる実装が存在するようになります。互換性に微妙な違いが出てくる可能性はあります。
以下はsunのJavaの歴史です。1.2と5.0で大きな変化がありました。Javaという名前はかわりませんがSunが提供する開発キットの正式名は微妙に変わっています。
授業で使用するのは Java SE 6 です。
JDK:Java開発キット (Java Development Kit の略)。
J2SE:(Java 2 Platform, Standard Edition) 2は大きな改良を,SEの他にEE(Enterprise Edition 企業用機能セット)と ME(Java 2 Platform, Micro Edition 小型セット)もある。
この他に開発はしないが,Javaのプログラムを使用するためのJava実行環境(Java仮想マシン)があり JRE (Java Runtime Environment)と呼ばれている。ブラウザやOpenOffice.orgなどのアプリケーションに付加する形でインストールされていることが多い。
開発のためのツールが無料で手に入り書籍,ウェブサイトでの情報が多い。
プログラム本体の書き方が C と共通な部分が多く,また,他のスクリプト言語とも共通部分が多い。他の言語を学ぶ場合も応用が利く。
GUIのプログラムを書くために共通の部品が用意されている。
学校のLinux環境だけでなくWindowsやMacの環境でも動くプログラムが作れ,他の環境に移ってもJDKを用意すればプログラムができる。