JVMで動作するスクリプト言語の選定ポイント

| | コメント(2)

現在発売中のWEB+DB PRESS vol.40に紙面の都合から掲載できなかったコラムをブログに掲載します。雑誌記事では、JRubyでDSLというテーマでJavaでスクリプト言語を活用する方法について解説していますので、そちらもあわせて読んでみてください。

JVMで動作するスクリプト言語の選定ポイント

JVM上では、さまざまなスクリプト言語の処理系が実装されています。Java SE 6からは、Java言語からスクリプト言語を利用するための方法が標準化され、利用できるようになりました。(スクリプトエンジンについてのより詳しい情報は、 https://scripting.dev.java.net/ を参照してください。)

ひとことで、JVMで動作するスクリプト言語といっても、JDK6に添付されているJavaScriptの実装であるRhino、最近注目の的になっているRuby実装であるJRuby、停滞していたプロジェクトが復活しつつあるJython、着々と利用が広まりつつある独自言語のGroovy、老舗で日本語ドキュメントも充実しているPnuts、などなど百花繚乱の状況です。

そこで、どの処理系を採用するのか、選定にあたってのいくつかのポイントをご紹介しましょう。

データの透過性

スクリプト言語からJavaのオブジェクトを操作する方法だけではなく、Javaオブジェクトからスクリプト言語のデータを操作する方法も調査してみてください。特に、スクリプト言語で処理したデータをJava言語で操作する必要があるときに、この項目は重要になります。

プログラミングパラダイム

そのスクリプト言語のプログラミングパラダイムが何であるかという点は、選定にあたっての大きなポイントです。単純で理解のしやすい命令型言語なのか、抽象化の得意なオブジェクト指向言語なのか、美しいモデルを持つ関数型言語なのか、それぞれのパラダイムにメリットとデメリットがあります。

パフォーマンス

採用する処理系の実行速度やメモリ消費はパフォーマンス要件を満たすものでしょうか。スクリプトの実行速度ばかりではなく、処理系を初期化するコストやスクリプトを呼び出すコストにも注意を払ってください。

フットプリント

アプリケーションを配布する場合、あまりに大きいサイズのファイルは歓迎されません。コンパクトな処理系であれば、アプリケーションとの共存も可能です。また、サイズの小さい処理系ならば、全体像を把握しやすいというメリットもあるでしょう。

コメント(2)

おかざき :

JDK5に添付されているJavaScriptの実装であるRhino

s/JDK5/JDK6/

takai :

修正しました。ありがとうございます!

コメントする

著者について

高井直人
高井 直人
takai@recompile.net

ソフトウェアエンジニア。1977年横浜生まれ。大学在学中からネットワークや情報技術にたずさわる。Web制作会社などを経て、現在はシステムインテグレータに勤務。エンタープライズRubyをテーマに社内標準の策定などに従事している。

タグクラウド

ウェブページ

Powered by Movable Type 4.1-en-release-26-r1141-20080104