web-dev-qa-db-fra.com

Où puis-je trouver une liste des langages de script JSR-223 disponibles?

J'ai besoin d'un langage de script basé sur JVM pour mon application et je voudrais voir ce qu'il y a d'autre en dehors de Groovy, Ruby et Python.

Google continue de me pointer vers une page morte à http://scripting.dev.Java.net/

36
HDave

Ce n'est pas une liste officielle, mais vous pouvez commencer ici: http://en.wikipedia.org/wiki/List_of_JVM_languages

Rhino (JavaScript) est implémenté par défaut dans Oracle JDK/JRE.

Avec ce code, vous pouvez voir quels langages de script sont disponibles dans votre 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);

        }

    }

}

Cet exemple a été obtenu ici: http://www.Oracle.com/technetwork/articles/javase/scripting-140262.html

Vous voudrez peut-être essayer Lua aussi. Jetez un oeil ici: comment puis-je intégrer lua dans java?

26
davidbuzatto

L'ancienne page se trouve ici https://web.archive.org/web/20070610234337/https://scripting.dev.Java.net/

Ceux hébergés sur la page du projet JSR-223 peuvent être consultés sur https://web.archive.org/web/20140909141915/https://Java.net/projects/scripting/sources/svn/show/ coffre/moteurs mais la liste est:

Moteurs de script JSR-223

  • AWK
  • BeanShell
  • ejs
  • FreeMarker
  • Sensationnel
  • Jaskell
  • Java
  • Javascript
  • JavaScript (navigateur Web)
  • Gelée
  • JEP
  • Jexl
  • jst
  • JudoScript
  • JUEL
  • OGNL
  • Pnuts
  • Python
  • Ruby
  • Schème
  • Sleep
  • Tcl
  • Rapidité
  • XPath
  • XSLT

Moteurs de script JSR 223 maintenus ailleurs

  • Script JavaFX
  • ABCL
  • AppleScript
  • Script Bex
  • Projet de script OCaml
  • PHP
  • PHP (un autre)
  • Python
  • Smalltalk
  • CajuScript
  • MathEclipse

Pour les liens de téléchargement, regardez dans le fichier index.html que je mentionne ci-dessus. Pour l'un des projets Java.net, supprimez simplement le dev pour que scripting.dev.Java.net devienne scripting.Java.net. Vous devrez peut-être parcourir un référentiel pour les anciennes pages Web.

Une chose notable, le moteur JavaScript (Rhino) est en cours de réécriture complète pour Java 8. Le nouveau nom est Nashorn. Pour plus d'informations, voir: http://openjdk.Java.net/projets/nashorn /

24
Chase

Je ne connais pas de liste complète.

Cependant, il convient de souligner que vous pouvez utiliser à peu près n'importe quel langage JVM intégrable à des fins de script tant qu'il prend en charge la compilation/exécution dynamique au moment de l'exécution. Peu importe qu'il s'agisse de JSR233 ou non.

Par exemple, j'utilise Clojure pour les scripts (avec un DSL personnalisé) dans quelques-unes de mes applications.

Je ne l'ai pas essayé moi-même, mais je pense que vous pouvez également utiliser Scala: scala comme langage de script

FWIW, mes choix personnels seraient:

  • Clojure pour les capacités de puissance expressive/DSL (si vous utilisez la capacité de script vous-même ou avec une équipe d'experts)
  • Groovy si votre objectif principal est la facilité d'utilisation pour les utilisateurs finaux (en raison de la simplicité et de la similitude avec Java)
2
mikera

j'ai aussi trouvé cette page: http://Java-source.net/open-source/scripting-languages

ils mentionnent d'autres langages de script, comme un Basic comme JBasic, LUA, LuaJava ... ePascal et bien d'autres

1
kaytes