¿Dónde puedo encontrar una lista de lenguajes de scripting JSR-223 disponibles? [cerrado]


Necesito un lenguaje de scripting basado en JVM para mi aplicación y me gustaría ver qué más hay aparte de Groovy, Ruby y Python.

Google sigue señalándome una página muerta en http://scripting.dev.java.net /

Author: Michael Mior, 2012-08-07

4 answers

Esta no es una lista oficial, pero puede comenzar aquí: http://en.wikipedia.org/wiki/List_of_JVM_languages

Rhino (JavaScript) está implementado en Oracle JDK/JRE de forma predeterminada.

Con este código puede ver qué lenguajes de scripting están disponibles en su 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);

        }

    }

}

Este ejemplo se obtuvo aquí: http://www.oracle.com/technetwork/articles/javase/scripting-140262.html

Es posible que desee probar Lua también. Echa un vistazo aquí: ¿cómo puedo incrustar lua en java?

 24
Author: davidbuzatto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:44

La página antigua se encuentra aquí (descargar para ver, tipo de contenido incorrecto establecido en la respuesta) http://java.net/projects/scripting/sources/svn/content/trunk/www/index.html?raw=true

Los alojados en la página del proyecto JSR-223 se pueden navegar en http://java.net/projects/scripting/sources/svn/show/trunk/engines pero la lista es:

Script JSR-223 motores

  • AWK
  • BeanShell
  • ejs
  • FreeMarker
  • Groovy
  • Jaskell
  • Java
  • JavaScript
  • JavaScript (Web Navegador)
  • Jalea
  • PEC
  • Jexl
  • jst
  • JudoScript
  • JUEL
  • OGNL
  • Pnuts
  • Python
  • Ruby
  • Esquema
  • Dormir
  • Tcl
  • Velocidad
  • XPath
  • XSLT

Motores de script JSR 223 mantenidos en otro lugar

  • JavaFX Script
  • ABCL
  • AppleScript
  • Bex script
  • Scripting OCaml Proyecto
  • PHP
  • PHP (otro)
  • Python
  • Smalltalk
  • CajuScript
  • MathEclipse

Para los enlaces de descarga, busque en el índice.html que menciono arriba. Para cualquiera de los java.net proyectos acaba de quitar el dev para scripting.dev.java.net se convierte en scripting.java.net. Es posible que tenga que navegar en un repositorio para las páginas web antiguas.

Una cosa notable, el motor JavaScript (Rhino) se está reescribiendo completamente para Java 8. El nuevo nombre es Nashorn. Para más información, véase: http://openjdk.java.net/projects/nashorn/

 24
Author: Chase,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-27 20:28:45

No tengo conocimiento de una lista completa.

Sin embargo, vale la pena señalar que puede usar casi cualquier lenguaje JVM incrustable para fines de scripting, siempre y cuando soporte la compilación / ejecución dinámica en tiempo de ejecución. Realmente no importa si es JSR233 o no.

Por ejemplo, uso Clojure para scripting (con un DSL personalizado) en algunas de mis aplicaciones.

No lo he probado yo mismo, pero creo que también podrías usar Scala: scala como scripting idioma

FWIW, mis elecciones personales serían:

  • Clojure para capacidades de potencia expresiva / DSL (si está utilizando la capacidad de scripting usted mismo o con un equipo de expertos)
  • Groovy si su objetivo principal es la facilidad de uso para los usuarios finales (debido a la simplicidad y la similitud con Java)
 2
Author: mikera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:44

También encontré esta página: http://java-source.net/open-source/scripting-languages

Están mencionando otros lenguajes de escritura, como un básico llamado JBasic, LUA, LuaJava... ePascal y muchos otros

 1
Author: kaytes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-01 04:35:50