J/Link について

Wolfram言語とJavaを統合させた製品, J/Link にようこそ.J/Link は,完全に透過的Wolfram言語からJavaを呼び出し,JavaからWolfram言語カーネルを使用・コントロールすることを可能にするものである.Wolfram言語ユーザにとって,J/Link は現在および将来の全JavaクラスをWolfram言語環境に自動的に拡張するものである.Javaプログラマーにとっては,J/Link は一度に1行ずつJavaクラスを実験,構築,テストすることができるスクリプトシェルに,Wolfram言語を変えてくれるものである.また,JavaをWolfram言語の演算機能を使うプログラムを書くための理想的な言語にしてくれるものでもある.

J/Link の最もユニークな機能は,任意のJavaクラスをWolfram言語にロードしてJavaオブジェクトを生成したり,メソッドを呼び出したり,またWolfram言語から直接フィールドにアクセスしたりすることができるという点である.このように,Wolfram言語を使って任意のJavaプログラムの機能を書くこと(つまり,Wolfram言語でJavaプログラムを書くこと)ができるのである.実質的に,Javaでできることは何でもWolfram言語でできるようになった.純粋なインタプリタ環境の中で作業できるという点で,おそらくWolfram言語を使った方がより簡単に作業できるようになったとさえ言えるであろう.

この能力を示すひとつの例として,Wolfram言語のコードだけで,Javaベースのユーザインターフェースを作り上げることができるようになったことが挙げられる.長い演算のための単純なプログレスバーから,ユーザの計算を助けてくれるダイアログボックスや洗練されたウィザードまで作成できる.このようなインターフェースは完全にポータブルで,AWT,Swing等のどのようなユーザインターフェースクラスライブラリも利用できる.

Wolfram言語からJavaメソッドを呼び出す
Wolframシステムのサービスを使用するJavaプログラムを書く
Wolfram言語の代替フロントエンドを作成する
Wolfram言語プログラムのダイアログボックスとポップアップ要素を作成する
クライアントあるいはサーバでWolfram言語カーネルを使用するアプレットを書く
HTTPクライアントにもWolframシステムサービスが使えるようにするサーブレットを書く

J/Link の使用例

J/Link はエンドユーザと開発者の両者のために設計されている.Wolfram言語ユーザがどのようなJavaメソッドも透過的に呼び出せるという機能が同時に,開発者が洗練されたWolfram言語のアドオンを作成することを可能にする.Wolfram言語のカスタムフロントエンドを書きたい,あるいは別のプログラムのための演算エンジンとしてWolfram言語を使いたいと思っているプログラマーにとっては,CやC++から従来のWolfram Symbolic Transfer Protocol (WSTP)インターフェースを使うよりも J/Link とJavaを一緒に使った方が簡単である.

最後に,J/Link には完全なソースコードが付属している.これにはWolfram言語,Java,Cで書かれたコンポーネントが含まれている.コードを調べて文書を補充したり,自分のプログラムへのヒントを得たり,高度な機能の使用法をよく理解したり,また,ただ単にどのように動作するのかを見たりすることができる.

このマニュアルでは,JavaとWolfram言語の両方についてすでにある程度の知識を持っていることが前提となっている.たとえJavaを知らないとしても,J/Link はWolfram言語から既存のJavaクラスを呼び出す手段として簡単に使える.ただ,どんなクラスとメソッドが使用可能かということが分かっていさえすればよいのである.JavaプログラムではなくWolfram言語プログラムを書くことになるので,Java言語のシンタックスや込み入ったことは必要ない.

J/Link とWSTP

これらすべてを可能にするようにつなぎ合わせているのが,Wolfram言語と他のプログラムとの間でデータやコマンドをやり取りするためのWolfram ResearchのプロトコルWSTPである.J/Link の中核は,JavaのためのWSTP Developer Kitであるが,J/Link はそれにとどまることはない.実際,J/Link を使う最大の利点は,大規模クラスの使用においてWSTPを完全に隠してしまい,ユーザやプログラマーはWSTPについて何も知る必要がないということである.このクラスはWolfram言語にプラグインしてその機能性を拡張する,いわゆる「インストール可能な」あるいは「テンプレート」WSTPプログラムに相当する.J/Link はWSTPプログラムのすべてのタイプに,今までのC WSTPプログラミングインターフェースよりも高レベルな機能を提供する.これにより,JavaはWolfram言語とインタラクトするプログラムを書く最も簡単で便利な言語となる.