9

私はJavaでグラフィックアプリケーションを書いています。最終的には、プログラム可能なスクリプト言語を構築したいと考えています。どの言語ライブラリをお勧めしますか?

考えられる容疑者は次のとおりです。

可能性が低い候補は次のとおりです。

対象読者はおそらく筋金入りのプログラマーではないため、あまり難解な言葉は好まれません。私の推測では、JavaScript は、癖があっても、より多くのことを目にしたという理由だけで、より受け入れられるようになっていると思います。

Lua は C/C++ で人気があるようですが、少なくとも LuaJava には追加の .dll/.so が必要であり、展開が複雑になります。

編集: PhiLho は、 kahluaと呼ばれる Lua の Java 実装があると書いています


関連する質問:

4

9 に答える 9

9

対象読者が「プログラミングスキルがない...」場合は、習得が容易なjthon (python)を選択してください。(私の7歳の娘はすぐに覚えました)

Bruce Eckel は、"thinking in Java" で jython に関する章を作成しました。

「反対票」を取得する危険がある場合、PythonはBASICとして簡単です:-)

于 2008-09-27T10:55:03.423 に答える
3

Luaは、とりわけ、言語がシンプルで、習得が容易なことで高く評価されています。LuaJavaは元のLua実装を使用して完全なものにしますが、指摘すると、インストールが難しい場合があります。私は少なくともLuaの純粋なJava実装を知っています:Kahlua。それは完全ではありませんが(とりわけコルーチンのサポートが不足していますが、それらがなくても多くのことができます)、おそらくすでにあなたの目標に使用できます。
たとえば、Groovyとは異なり、アプリケーションに多くのオーバーヘッドを追加することはありません...

于 2008-09-27T11:04:14.150 に答える
2

全力を尽くしたい場合は、JSR 223で定義されているように、Java プラットフォームのスクリプトを利用できます。そのアプローチを採用すると、アプリケーションは、準拠するスクリプト エンジンを備えた任意の言語を利用できます。

于 2008-09-30T01:15:29.563 に答える
1

Java 6 には、すぐに使用できる JSR 223 スクリプト言語として JavaScript がすでに用意されています。

于 2008-10-17T09:47:23.833 に答える
1

また、完全に承認された JSR であるという利点がある BeanShell もあるため、おそらく定着する可能性が高くなります。

http://www.beanshell.org/

于 2008-09-27T12:22:53.727 に答える
1

現在、Lua スクリプトから Java オブジェクトとメソッドを使用できるようにするライブラリを探しています。

私の最初のアイデアは LuaJava も使用することでしたが、これを Linux、Mac、および Windows で動作させたいので、Java に加えてコンパイル済みの lib を使用するという事実に気が進まなかったのです。Windows で事前にコンパイルされたバイナリのみが利用可能であり、私は Mac の専門家ではないため、純粋な Java で何かを見つけようとしましたが、これを見つけました: http://sourceforge.net/projects/luaj

Lua doc に記載されている C API と、LuaJava の API を実装しているようです。

このプロジェクトは非常に進んでいるように見えます。Lua からの Swing 呼び出しの例 (!) があり、それらは私の Linux ボックスで動作しました。しかし奇妙なことに、メーリング リスト、フォーラム、およびドキュメントは本当にまばらです。

WindowsとMacでも試してみます。それがうまくいくことを願っています。

Kahlua について言及されていますが、J2ME のみをターゲットにしているため、Lua の一部が欠けています。同じ目標を持つ Mochalua というプロジェクトがあると思います。

一方、LuaJ には 2 つのバージョンがあります。1 つはすべて (コルーチンも) を実装する J2SE を対象とし、もう 1 つは J2ME を対象とし、2 つまたは 3 つのライブラリが欠けていると思います (リフレクションが必要な LuaJava のものを含む)。

于 2009-03-13T10:02:22.807 に答える
1

Steve Yegge のThe Universal Design Patternを読みました。この記事は、Java アプリケーションにスクリプトを埋め込むだけではなく、より幅広いトピックを扱っていますが、著者は (Jython を使用して) スクリプトを実行できる Java アプリケーションを作成しているため、興味深い洞察に満ちたポイントがあります。

JavaScript は地球上で最も優れた 2 つのスクリプト言語の 1 つです。「スクリプト言語」という用語の最も正しい意味で: つまり、大規模なホスト システムに組み込まれるように特別に設計され、操作または「スクリプト」に使用される言語です。ホスト システム内のオブジェクト。これは、JavaScript が行うように設計されたものです。いくつかのオプションの拡張機能を備えた適度に小さく、適度に厳密な非公式の仕様を持ち、ホスト システム オブジェクトを JavaScript で透過的に表示するための慎重に作成されたインターフェイスを備えています。

対照的に、Perl、Python、Ruby は巨大なスプロール現象であり、すべて (C++ や Java のように) あらゆるタスクに最適な言語になろうとしています。任意のホスト システムのスクリプト作成で JavaScript と競合する唯一の主流言語は、ゲーム業界向けのスクリプト言語として有名な Lua です。

JavaScript と Lua に絞り込むという彼の意見に賛成です。

便利な例がなければ、JavaScript/Rhino (または、JVM で利用可能になった Lua) を使用することで私の人生が楽になったかもしれないと言うしかありません。

私は個人的に Java プラットフォーム上の JavaScript を好みます。ユーザーベースの人口はより多くなっています。Yegge が言うように、「世界で最も誤解されているプログラミング言語」ですが、この言語で利用できるリソースの量はプラスです。サイは成熟した獣のようです。

于 2008-10-29T07:44:29.170 に答える
0

RelProxy - Javaを使用できます。これは、その場でのコンパイルのおかげで、Java で作成されたシェル スクリプトを含む、スクリプト言語として本物の純粋な Java を提供します。Java「スクリプト」はランチャー ClassLoader を共有して実行されるため、統合は簡単です。

于 2014-02-19T20:01:24.317 に答える
0

Jaclと考えるかもしれません。これは、もともと組み込み可能なスクリプト言語として設計された Tcl に基づいています。そのため、追加で埋め込むことができる他のスクリプト言語よりも、この目的に適していると言えます。

特に、対象読者が「筋金入りのプログラマーではない」場合、Jacl は適切な選択をします。頭の良い人 (特にプログラミングに対する偏見のない人) は、朝に Tcl 構文を簡単に理解できます。

于 2008-09-27T13:33:25.773 に答える