Java
読み方:ジャバ
別名:Java言語
Javaとは、Sun Microsystemsによって開発されたオブジェクト指向をサポートする汎用のプログラミング言語の名称である。
Javaの特徴:WORA、中間言語方式
Javaの最大の特徴として、WORA(Write Once, Run Anywhere)、すなわち「一度書けば、どこでも動く」と端的に表現される汎用性の高さを挙げることができる。Javaで記述されたプログラムのソースコードは、コンパイラによって、ネイティブコードにではなく、バイトコードとよばれる中間言語に生成される。そのバイトコードは、各マシンにインストールされたJava仮想マシン(Java VM)と呼ばれる実行環境の上で動作するようになっている。このため、Java仮想マシンが導入されていれば、どのようなアーキテクチャのシステムでも同じJavaプログラムを実行させることが可能となっている。
Jsvaは、コンパイルを経て実行されるという意味ではコンパイラ型言語ともいえるが、いわゆるコンパイラ型言語とは区別する意味で「中間言語方式」と分類されることが多い。
Javaプログラムのソースコードには、拡張子として「.java」が付く。Javaコンパイラによって生成された中間言語であるバイトコードは、拡張子を「.class」とするクラスファイルに格納される。コンパイルはクラス単位で行われ、一つのクラスに対応して一つのクラスファイルが生成される。プログラムの実行時、Java仮想マシンはこのクラスファイル(バイトコード)を読み込む。
Javaの特徴:構文
Javaの構文は、C言語やC++と似通っている部分が多く、また、全体的な言語機能としてはC++に近いといわれている。JavaをC++と比較すると、C++でバグなどの問題の原因となりそうな要素のいくつかが、Javaからは除外されている。例えば、ポインタ変数、多重継承、プログラマによるメモリ管理、マクロ(プリプロセッサ)などがJavaでは省かれている。他方、C++が言語機能レベルで持たない要素のいくつかは、Javaで独自にサポートされている。例えば、インターフェース、スレッド、イテレータなどが使用可能になっている。
クラスや単一継承、インターフェース、情報隠蔽、多態性(ポリモーフィズム)、例外、スレッドなどの機能は、Javaの言語レベルでサポートされている。特に、単一継承のみを用いるシンプルなオブジェクト指向モデル、インターフェース概念の積極的取り込み、モジュラリティを高めるパッケージ概念、アーキテクチャの異なるマシンでも実行できるポータビリティ、といった要素は、アプリケーション開発用の言語としての高い評価に繋がっている。一方で、厳密なリアルタイム性、プログラマによるメモリ管理、利用リソースの最小化、ネイティブの実行速度などが要求される分野では、他の言語の方がより適するとされる。
Javaの特徴:開発環境、実行環境
Javaプログラムは、特定の開発環境によって開発され、また、特定の実行環境によって実行される。Sun MicrosystemsがJava向けに提供しいるソフトウェア開発キット(SDK)は、JDK(Java SDK)と呼ばれる。JDKは2007年にGPLのライセンスによるオープンソースソフトウェア(OSS)となった。また、統合開発環境(IDE)としては、OSSであるEclipseや、Sun MicrosystemsのNetBeansなどがある。
Javaの実行環境はJRE(Java Runtime Environment)と呼ばれる。Sun Microsystemsが提供するJava2(Javaバージョン2)では、規模や用途によって異なるいくつかの開発環境が提供されている。最も広範に用いられる、標準的な開発環境であるJ2SE(Java 2 Standard Edition)や、主に企業向けのサーバーシステムに用いられるJ2EE(Java 2 Enterprise Edition)、比較的小規模な組み込み用途に用いられるJ2ME(Java 2 Micro Edition)などがある。
また、Javaは、オブジェクト指向の性質を活かして、モジュラリティに優れた膨大なライブラリ群や特定用途向けのアプリケーションフレームワークを持っている。携帯電話のアプリケーション、GUIのデスクトップアプリケーション、サーバーサイドのWebアプリケーション、果ては企業の主たる業務を支える基幹システムに至るまで、非常に広い分野をカバーすることができる。また、実務用途の他にも、先進的な概念を具現化する実験場的な扱われ方もし、デザインパターン、アスペクト指向、アプリケーションフレームワーク、アジャイル開発、テスト駆動開発、モデル駆動、サービス指向アーキテクチャなどの実験的な実践の場としても活用されている。
Javaの歴史
Javaは元々、Sun Microsystemsのジェームズ・ゴスリン(James Gosling)らが推進していたセットトップボックス向けのポータブルなプログラムに関する研究開発の成果物である。当初は「Oak」と命名されたが、1995年のホワイトペーパーにおいて、Javaとして正式発表された。正式版のJavaバージョン1.0は1996年に発表されている。
当初は、クライアント(Webブラウザ)側で動くポータブルなプログラムであるJavaアプレットが注目を集めた。その後、サーバー側で実行される、Webアプリケーションの構築に適した言語であるという認識が徐々に浸透していった。現在では、エンタープライズ向けのサーバーサイド技術としてJavaは代表的な地位を占めるまでになっている。
時代とともにJavaの機能や仕様にも追加、改良が加えられている。ジェネリックプログラミングなどのような、当初は持っていなかったいくつかの高度な機能も取り込まれ、また、中間言語方式の難点であった実行速度の遅さは、実行時に必要な部分をネイティブコンパイルしてから実行するHotSpot技術などによってある程度克服されている。
2006年以降、JavaはGPLのライセンスに基づくオープンソースソフトウェアとして提供されている。Javaは、様々なプラットフォームにおいて最も多く用いられている言語の一つとなっている。
参照リンク
Javaテクノロジ
Sun Developer Connection
java.com
|