Seite 1 von 1

Verfasst: Samstag 19. April 2008, 09:42
von BlackJack
Für Java bzw. die JVM gibt's gar nicht mal so wenige Sprachen: http://www.robert-tolksdorf.de/vmlanguages.html

C-Programmierer machen ja gerne alles selbst, wenn sie dadurch externe Abhängigkeiten einsparen. :-)

Auch ein Grund für eine eigene DSL ist sicher oft auch, dass sich das im Laufe der Zeit so entwickelt. Man hat eine Konfigurations"sprache". Dann möchte man dort Verzweigungen unterbringen. Und irgendwer hätte gerne ein Schleifenkonstrukt. Und schon hat man wieder mal eine Sprache erfunden. Am Anfang argumentiert man noch, dass eine "externe" Skriptingsprache mit Kanonen auf Spatzen geschossen ist. Bis es dann zu spät ist, und man eine turingvollständige Konfigurationssprache selbst gebaut hat.

Verfasst: Samstag 19. April 2008, 10:19
von Leonidas
sma hat geschrieben:In Java hätte man eher das Problem, dass die ausgesuchte Scriptsprache nicht oder nicht in der gewünschten Qualität zur Verfügung stände und man somit entweder JavaScript benutzen kann oder etwas selbst bauen kann.
In Java würden mir spontan Jython, JRuby, Groovy, Nice, Scala und Scheme (Bigloo) einfallen. Ich weiß nicht in wie weit die in Java-Programme embeddbar sind und nicht nur Bytecode generieren, aber ich denke dass es da sicher schon Leute gab, die das probiert haben.

Verfasst: Samstag 19. April 2008, 11:34
von sma
Theoretisch kannst du alles Einbinden, was JSR 223 erfüllt - das machen heutzutage die meisten Scriptsprachen. Dennoch sind Jython, JRuby und Groovy groß und heavy und ich würde keine Hand dafür ins Feuer halten, dass die sicher sind. Nice und Scala lassen sich nicht einbetten, Bigloo ebenfalls nicht, es gibt jedoch andere Scheme-Varianten, bei denen das besser geht. Am einfachsten ist aber IMHO das bereits erwähnte JavaScript (Rhino), da es explizit zum Einbetten entwickelt wurde und auch in der Größe noch überschaubar ist.

Stefan