J/Link について
Mathematica とJavaを統合させた製品,
J/Link にようこそ.
J/Link は,完全に透過的に
Mathematica からJavaを呼び出し,Javaから
Mathematica カーネルを使用・コントロールすることを可能にするものである.
Mathematica ユーザにとって,
J/Link は現在および将来の全Javaクラスを
Mathematica 環境に自動的に拡張するものである.Javaプログラマーにとっては,
J/Link は一度に1行ずつJavaクラスを実験,構築,テストすることができるスクリプトシェルに,
Mathematica を変えてくれるものである.また,Javaを
Mathematica の演算機能を使うプログラムを書くための理想的な言語にしてくれるものでもある.
J/Link の最もユニークな機能は,任意のJavaクラスを
Mathematica にロードしてJavaオブジェクトを生成したり,メソッドを呼び出したり,また
Mathematica 言語から直接フィールドにアクセスしたりすることができるという点である.このように,
Mathematica を使って任意のJavaプログラムの機能を書くこと(つまり,
Mathematica でJavaプログラムを書くこと)ができるのである.実質的に,Javaでできることは何でも
Mathematica でできるようになった.純粋なインタプリタ環境の中で作業できるという点で,おそらく
Mathematica を使った方がより簡単に作業できるようになったとさえ言えるであろう.
この能力を示すひとつの例として,
Mathematica のコードだけで,Javaベースのユーザインターフェースを作り上げることができるようになったことが挙げられる.長い演算のための単純なプログレスバーから,ユーザの計算を助けてくれるダイアログボックスや洗練されたウィザードまで作成できる.このようなインターフェースは完全にポータブルで,AWT,Swing等のどのようなユーザインターフェースクラスライブラリも利用できる.
J/Link の使用例
Javaは迅速,強固,ポータブルな汎用プログラミング言語である.Javaはインターネットに関連した数多くの便利な機能を持つが,単なる「インターネット」言語ではない.Javaは断固としてアプレットを書くためだけの言語ではないのである.アプレットはJavaをパワフルに使用したものであるが,Javaにはそれ以上の能力がある.実際,アプレットはすでにJavaプログラムのあまり重要でないカテゴリに入ってしまっている.今日,Javaはクライアント,サーバ,ブラウザ,データベース,デバイス,デスクトップとどこにでも見られる.
J/Link を使うと,
Mathematica とJavaとを好きなように統合できる.
J/Link はエンドユーザと開発者の両者のために設計されている.
Mathematica ユーザがどのようなJavaメソッドも透過的に呼び出せるという機能が同時に,開発者が洗練された
Mathematica のアドオンを作成することを可能にする.
Mathematica のカスタムフロントエンドを書きたい,あるいは別のプログラムのための演算エンジンとして
Mathematica を使いたいと思っているプログラマーにとっては,CやC++から従来の
MathLink インターフェースを使うよりも
J/Link とJavaを一緒に使った方が簡単である.
最後に,
J/Link には完全なソースコードが付属している.これには
Mathematica,Java,Cで書かれたコンポーネントが含まれている.コードを調べて文書を補充したり,自分のプログラムへのヒントを得たり,高度な機能の使用法をよく理解したり,また,ただ単にどのように動作するのかを見たりすることができる.
このマニュアルでは,Javaと
Mathematica の両方についてすでにある程度の知識を持っていることが前提となっている.たとえJavaを知らないとしても,
J/Link は
Mathematica から既存のJavaクラスを呼び出す手段として簡単に使える.ただ,どんなクラスとメソッドが使用可能かということが分かっていさえすればよいのである.Javaプログラムではなく
Mathematica プログラムを書くことになるので,Java言語のシンタックスや込み入ったことは必要ない.
J/Link と MathLink
これらすべてを可能にするようにつなぎ合わせているのが,
Mathematica と他のプログラムとの間でデータやコマンドをやり取りするためのWolfram Researchのプロトコル
MathLink である.
J/Link の中核は,Javaのための
MathLink Developer Kitであるが,
J/Link はそれにとどまることはない.実際,
J/Link を使う最大の利点は,大規模クラスの使用において
MathLink を完全に隠してしまい,ユーザやプログラマーは
MathLink について何も知る必要がないということである.このクラスは
Mathematica にプラグインしてその機能性を拡張する,いわゆる「インストール可能な」あるいは「テンプレート」
MathLink プログラムに相当する.
J/Link は
MathLink プログラムのすべてのタイプに,今までのC
MathLink プログラミングインターフェースよりも高レベルな機能を提供する.これにより,Javaは
Mathematica とインタラクトするプログラムを書く最も簡単で便利な言語となる.