Где я могу найти список доступных языков сценариев JSR-223?

Мне нужен язык сценариев на основе JVM для моего приложения и хотелось бы посмотреть, что еще там, кроме Groovy, Ruby и Python.

Google продолжает указывать мне мертвую страницу на http://scripting.dev.java.net/

Ответ 1

Это не официальный список, но вы можете начать здесь: 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 тоже. Посмотрите здесь: как я могу вставить Луа в Java?

Ответ 2

Старая страница находится здесь https://web.archive.org/web/20070610234337/https://scripting.dev.java.net/

Те, которые размещены на странице проекта JSR-223, можно просмотреть по адресу https://web.archive.org/web/20140909141915/https://java.net/projects/scripting/sources/svn/show/trunk/engines, но список:

Скриптовые движки JSR-223

  • AWK
  • BeanShell
  • EJS
  • FreeMarker
  • Groovy
  • Jaskell
  • Джава
  • JavaScript
  • JavaScript (веб-браузер)
  • Желе
  • СЭП
  • Jexl
  • Jst
  • JudoScript
  • Juel
  • OGNL
  • Pnuts
  • питон
  • Рубин
  • Схема
  • Спать
  • Tcl
  • Скорость
  • XPath
  • XSLT

Сценарии JSR 223, поддерживаемые в других местах

  • JavaFX Script
  • ABCL
  • AppleScript
  • Bex скрипт
  • Скриптовый проект OCaml
  • PHP
  • PHP (еще один)
  • питон
  • Болтовня
  • CajuScript
  • MathEclipse

Ссылки на скачивание смотрите в index.html, который я упоминал выше. Для любого из проектов java.net просто удалите dev, чтобы scripting.dev.java.net стал scripting.java.net. Возможно, вам придется искать в репо для старых веб-страниц.

Одна примечательная вещь, движок JavaScript (Rhino) полностью переписан для Java 8. Новое имя - Nashorn. Для получения дополнительной информации см.: http://openjdk.java.net/projects/nashorn/

Ответ 3

Я не знаю полного списка.

Однако стоит отметить, что вы можете использовать практически любой встраиваемый JVM-язык для сценариев, если он поддерживает динамическую компиляцию/выполнение во время выполнения. Это не имеет значения, если это JSR233 или нет.

Например, я использую Clojure для создания сценариев (с помощью собственного DSL) в нескольких моих приложениях.

Я не пробовал это сам, но я думаю, вы могли бы также использовать Scala: scala как язык сценариев

FWIW, мой личный выбор:

  • Clojure для возможностей выразительной мощности /DSL (если вы используете возможности сценариев самостоятельно или с командой экспертов)
  • Groovy, если ваша основная цель - простота использования для конечных пользователей (из-за простоты и сходства с Java).

Ответ 4

также я нашел эту страницу: http://java-source.net/open-source/scripting-languages

они упоминают другие языки script,  как Basic, называемый JBasic, LUA, LuaJava... ePascal и многие другие