web-dev-qa-db-ja.com

利用可能なJSR-223スクリプト言語のリストはどこにありますか?

私のアプリにはJVMベースのスクリプト言語が必要です。Groovy、Ruby、Python以外に他にどんなものがあるのか​​を知りたいです。

Googleは http://scripting.dev.Java.net/ のデッドページを引き続き表示します

36
HDave

これは公式のリストではありませんが、ここから始めることができます: http://en.wikipedia.org/wiki/List_of_JVM_languages

Rhino(JavaScript)は、デフォルトでOracle JDK/JREに実装されています。

このコードを使用すると、JDKで使用可能なスクリプト言語を確認できます。

import Java.util.*;
import javax.script.*;

public class A {

    public static void main( String[] args ) {

        ScriptEngineManager mgr = new ScriptEngineManager();
        List<ScriptEngineFactory> factories = mgr.getEngineFactories();

        for (ScriptEngineFactory factory : factories) {

            System.out.println("ScriptEngineFactory Info");

            String engName = factory.getEngineName();
            String engVersion = factory.getEngineVersion();
            String langName = factory.getLanguageName();
            String langVersion = factory.getLanguageVersion();

            System.out.printf("\tScript Engine: %s (%s)%n", engName, engVersion);

            List<String> engNames = factory.getNames();
            for(String name : engNames) {
                System.out.printf("\tEngine Alias: %s%n", name);
            }

            System.out.printf("\tLanguage: %s (%s)%n", langName, langVersion);

        }

    }

}

この例はここで取得されました: http://www.Oracle.com/technetwork/articles/javase/scripting-140262.html

Luaも試してみてください。ここを見てください: どのようにluaをjavaに埋め込むことができますか?

26
davidbuzatto

私は包括的なリストを知りません。

ただし、実行時の動的なコンパイル/実行をサポートしている限り、スクリプトの目的でほとんどすべての埋め込み可能なJVM言語を使用できることを指摘する価値があります。 JSR233であるかどうかは問題ではありません。

たとえば、いくつかのアプリで(カスタムDSLを使用した)スクリプト作成にClojureを使用しています。

私は自分で試したことはありませんが、Scalaも使用できると思います。 スクリプト言語としてのスカラ

FWIW、私の個人的な選択は次のとおりです。

  • Clojure表現力/ DSL機能(スクリプト機能を自分でまたは専門家チームと使用している場合)
  • Groovy主な目標がエンドユーザーの使いやすさである場合(Javaとの単純さと類似性のため)
2
mikera

また、私はこのページを見つけました: http://Java-source.net/open-source/scripting-languages

jBasic、LUA、LuaJavaなどのBasicなど、他のスクリプト言語に言及しています。ePascalなど

1
kaytes