1 スクリプト言語とJava
スクリプト言語は、スクリプトを記述する機能をサポートするプログラミング言語です。実行する前にバイト・コードにコンパイルする必要がある他のプログラミング言語のソースファイルとは異なり、スクリプトは実行環境(この場合はスクリプト・エンジン)によって直接評価されます。
ほとんどのスクリプト言語は動的に型付けされます。このため、変数型を宣言せずに新しい変数を作成できます(インタプリタが変数に関連付けられたオブジェクトの型に基づいて型を割り当てます)。また、同じ変数を異なる型のオブジェクトで再利用できます(型変換が自動的に実行されます)。
スクリプト言語は、一般に構文が簡単であり、比較的少ないステップ数で複雑なタスクを実行できます。
通常、スクリプト言語は実行時に解釈されますが、Java仮想マシン(JVM)上で実行できるJavaバイト・コードにコンパイルすることもできます。特定の問題についてはスクリプト言語の方が高速で使いやすいため、Javaアプリケーションの開発者はスクリプト言語を選ぶこともあります。ただし、スクリプト言語でJavaアプリケーションを作成した場合、Java言語の利点(型の安全性やクラス・ライブラリへのアクセスなど)は失われます。
「Java Specification Request (JSR) 223: Javaプラットフォームのためのスクリプト」は、Javaとスクリプト言語の統合に関する問題を扱っています。これは、Javaアプリケーションにスクリプトを埋め込み、スクリプトからJavaオブジェクトにアクセスするための標準フレームワークとアプリケーション・プログラミング・インタフェース(API)を定義しています。
スクリプトをJavaコードに埋め込むことで、Javaアプリケーションをカスタマイズしたり、拡張したりできます。たとえば、構成パラメータ、ビジネス・ロジック、数式およびその他の外部部品をスクリプトとして記述できます。Javaアプリケーションの開発時にスクリプト言語を選択する必要はありません。JavaスクリプトAPI (JSR 223で定義)を使ってアプリケーションを作成すれば、ユーザーはJSR 223に準拠する任意の言語でスクリプトを作成できます。「JavaスクリプトAPI」を参照してください。
JSR 223に準拠する言語でスクリプトを作成すると、標準Javaライブラリのすべてにアクセスできます。「スクリプトからのJavaの使用」を参照してください。