Warum so viele Programme mit eigenen Scriptsprachen?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
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.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

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
Antworten