# Jede Menge Skriptsprachen, aber welche denn jetzt?



## andy0585 (8. Dez 2009)

Ich bin zwar in Java sehr fit, in Sachen Skriptsprachen aber ein totaler Neueinsteiger. Deshalb, auf dass mich bzw. meine Frage von einige verfluchen werden, hier meine Frage zum grundlegenden Verständnis von Skriptsprachen:
Über meinen Freund Google habe ich schon einige Artikel zum Thema Skriptsprachen wie beispielsweise BeanShell, Jess, JudoScript, Rhino, Jython, Python, Perl, PHP, Groovy, Scala, Ruby, Grail, um nur einige zu nennen. Nun verstehe ich nicht ganz, warum diese Skriptsprachen wieder so zu einem Trend geworden sind, wo sie um ca. 2003 doch schon mal da waren!? Welche neuen Einsatzmöglichkeiten bieten diese und warum wird, zumindest in den Beiträgen die ich bisher gelesen habe, meistens Scala, Groovy und JavaFX favorisiert? Wie sind die Alternativen zu Grails, also Ruby on Rails, Django, Pylons, Spring Roo, Stripes zu bewerten? Mein Problem ist eigentlich, dass ich durch die Menge an Skriptsprachen und Alternativen Frameworks den Überblick verloren habe. Vielleicht kennt ihr auch gute Quellen, wo das evtl. vermittelt wird? Auch fällt es mir schwer festzustellen, auf was ich den Fokus legen soll, also was von den oben genannten Dingen zukunftsfähig ist bzw. sein könnte?

Vielen Dank schon mal im Voraus,
mfg


----------



## Ebenius (8. Dez 2009)

Ganz grundlegende Rückfrage: Wozu soll die Skriptsprache denn eingesetzt werden. Sicher haben verschiedene Sprachen ihre Stärken und Schwächen; das sollte ja dann bei der Wahl berücksichtigt werden.

Ebenius


----------



## andy0585 (8. Dez 2009)

Mir geht es grundlegend darum, einen Überblick zu erhalten. Mein Problem ist auch, dass ich nicht ganz erkenne wofür, also für welche Zwecke Skriptsprachen überhaupt einzusetzten sind. Ich weiß, meine Frage(n) sind sehr umfangreich, dennoch hoffe ich auf eure Hilfe.


----------



## bygones (8. Dez 2009)

noch keiner aufgeregt manche Sprachen hier als Skriptsprachen zu sehen ? ... naja

Viele sehen halt die vorhandenen Moeglichkeiten von java als begrenzt, jedoch die Idee der JVM als gut an und entwickeln daher unterschiedliche neue Sprachen.

Groovy zb ist eine dynamisch typisierte Sprache auf der VM, fuer Javaianer sehr leicht zu lernen da syntaktisch geringe unteschiede
Scala ist wie Java eine statisch typisierte Sprache, die wesentlich mehr funktionale Element hat als Java / Groovy

Perl & PHP gibt es schon seit Jahrzehnten und haben sich frueher (perl) bzw heute (PHP) in der Web programmierung etabliert. Perl ist jedoch auch gern als standaline skriptsprache eingesetzt.

Ruby hat(te) lange einen riesen Hype dank Ruby on Rails... dieses Erfolgskonzept hat sich auch in anderen Sprachen durchgesetzt (mit Grails / Lift etc).

Es gibt untersch. Frameworks basierend auf untersch. Sprachen. Meist unterscheiden sie sich dadurch und man sollte eben die zugrundeliegende Sprache sich anschauen und sehen ob einem diese gefaellt. Das wuerde dann entscheiden ob man Ruby on Rails, Grails oder was auch immer nutzt.

zusammengefasst:


> Mein Problem ist auch, dass ich nicht ganz erkenne wofür, also für welche Zwecke Skriptsprachen überhaupt einzusetzten sind


weil deren meinung bestehende Sprachen limitiert sind und enorme Schwaechen haben...


----------



## andy0585 (8. Dez 2009)

Welche der oben genannten Sprachen zählt deiner Meinung nach nicht zu den Skriptsprachen?

Heißt das, dass Scala und Groovy momentan deshalb favorisiert werden, weil sie Java(FX) sehr ähneln bzw. teilweise auch "dominieren"? Groovy vorallem durch seine Dynamik und auch durch Grails; Scala vor allem durch den Funktionsumfang und evtl. auch durch Lift; Wenn Scala somit "besser" als Java ist, könnte es, mal abgesehen von der Komplexität von Scala, deiner Meinung nach irgendwann Java ablösen, sollte Java bspw. durch Erweiterungen nicht nachziehen können?


----------



## bygones (8. Dez 2009)

andy0585 hat gesagt.:


> Welche der oben genannten Sprachen zählt deiner Meinung nach nicht zu den Skriptsprachen?


objektiv gesehen keine... perl/php/ruby/python sind alle ebenso OO sprachen... dennoch waeren das die sprachen die ich als Skriptsprachen nennen wuerde (allg alle Sprachen die eben interpretiert werden...)

Groovy und Scala haben nur deshalb diesen beinamen, da man scheinbar auch skripte erstellen kann.



andy0585 hat gesagt.:


> Heißt das, dass Scala und Groovy momentan deshalb favorisiert werden, weil sie Java(FX) sehr ähneln bzw. teilweise auch "dominieren"?


beide Sprachen haben in ihrer Intension GAR nix mit JavaFX zu tun... und im Grunde auch nur indirekt mit Java (Groovy schon eher als Scala). Es sind zwei Sprachen fuer die JVM.



andy0585 hat gesagt.:


> Wenn Scala somit "besser" als Java ist, könnte es, mal abgesehen von der Komplexität von Scala, deiner Meinung nach irgendwann Java ablösen


es ist gefaehrlich zu sagen dass eine Sprache "besser" ist als Java. Scala hat zum Teil andere Ansaetze und ist wesentlich staerker an funktionalen Sprachen dran als Java. Mancher mag dies als besser ansehen, mancher nicht.

Ich (persoenliche Meinung !) denke keine Sprache wird Java komplett abloesen, Java wird aber an Bedeutung verlieren, weil andere Sprachkonzepte an Bedeutung gewinnen werden. Scala ist momentan der Hypekandidat was dies betrifft. Kann aber genauso gut sein dass es eine andere Sprache sein wird.



andy0585 hat gesagt.:


> sollte Java bspw. durch Erweiterungen nicht nachziehen können?


tun es ja auch (z.b. Closures in Java7). Wieder meiner Meinung nach hat Java das Problem dass es nicht alles was an Ideen aufkommt unbedingt integrieren sollte (das JDK ist jetzt schon ein unueberschaubarer Brocken), aber ebenso wenig neue Ideen komplett ausvorlassen sollte.


----------



## Marco13 (8. Dez 2009)

Hab mir mal heise online-Kiosk - Sonderhefte - iX special 01/2010 - Programmieren heute gekauft, aber noch nicht gelesen...


----------



## xtraclass (9. Dez 2009)

Mir persönlich gefällt Groovy am besten, weil die Sprache an sich interessante Features bietet (Closures, kompakter Source Code) und vor allem alle Java-Bibliotheken verwendet werden können - was für mich ein großer Vorteil gegenüber Ruby ist. Ruby ist auch eine super Sprache, hat aber eigene Bibliotheken. Dafür gibt's dann JRuby, ähnlich wie Ruby, aber mit Zugriff auf Java-Bibliotheken. JRuby und Groovy laufen beide in der Java VM. Ich hab schon einige Präsentationen über beide angesehen und auch selber verglichen, ich glaube, es ist reine Geschmacksache, ob man jetzt Groovy oder JRuby bevorzugt. Von den Features sind beide sehr ähnlich.
Scala ist eine andere Sache, das ist eine funktionsorientierte Sprache, mit der das Programmieren doch anders geschieht. Laut einigen Artikel ist Scala noch nicht "enterprise"-tauglich, es gibt also noch einiges an der Performance und Stabilität zu verbessern, auf der anderen Seite verwendet aber Twitter in einem Teilbereich ihrer Server Scala, was dann doch wieder für die Zuverlässigkeit von Scala spricht.
Ich persönlich würde empfehlen Groovy zu lernen, dann das zugeörige Webframework Grails, so dass man relativ schnell nette Webapplikationen erstellen kann (und auch lernen kann, wie man das mit Hibernate, Spring etc gut macht), dann vielleicht Scala und schließlich Roo.
Roo ist keine Sprache, sondern eine Art Source-Code-Generator, der echt viel kann. Wird gerade von Springsource entwickelt. Ist noch nicht wirklich voll in der Produktion einsetzbar, aber extrem interessant. Vor allem kann man sich den Code ansehen, der erzeugt wird, und schauen, wie das andere (sprich Spring-Experten) so machen. Da werden nämlich viele Aspect Dateien erzeugt, die den Code meiner Ansicht nach recht interessant strukturieren.


----------

