| 

.NET C# Java Javascript Exception

Hat Grails eine Zukunft? Alternativen?

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Hat Grails eine Zukunft? Alternativen?

whitenexx - 22.08.2009 19:05
Hi zusammen!
Meine Fragen sind einfach,

Hat Grails eine Zukunft?
Was für Alternativen zu Grails gibt es?
Wie findet ihr Scala und Lift?

Mir scheints so, als wäre Grails ein totes Pferd...

Gruß
whitenexx


Re: Hat Grails eine Zukunft? Alternativen?

christian - 24.08.2009 13:29
vawalda schrieb:
-------------------------------------------------------
> Scala hat unter anderem wegen des Konzepts der
> statischen Typisierung einen bedeutenden
> Performance Vorteil, vor allem ist der
> Name("scalieren") scheinbar Programm.
> Scala hat wg der statischen Typisierung immer eine
> schnelle Möglichkeit in IDE integriert zu werden.
> Nichts desto Trotz will ich dir dies hier nicht
> vorenthalten.

Zu den angeblich (es findet sich kein Beleg) von Dierk König auf Twitter veröffentlichten vermeintlichen Scala-Mythen:

Zitat
Reto M. Kiefer
* Myth1 "#scala is like Java" No. It's much different in syntax even more in concepts. Expect a long learning curve.
* Myth2 "#scala is simple" No. It's powerful but complex.
* Myth3 "#scala actors solve all multicore issues" No. Only for a niche of mt issues they offer a good solution.
* Myth4 "#scala pattern matching is powerful" Yes! Complex but certainly powerful. I love it!
* Myth5 "#scala will replace Java" Not for me. My brain is not up to that task. I need a simpler lang, not a more complex one.

"scala is like Java"
Die Behauptung, dass Scala wie Java sein soll, hatte ich vor dieser Aufzählung noch gar nicht gehört. Auf den ersten Blick ähneln sich zwar ein paar Sachen, aber schon bei gewöhnlichen Dingen wie Konstruktoren hören diese Gemeinsamkeiten auf. C# verwechselt man vielleicht mit Java, aber Scala bestimmt nicht - und das ist auch gut so.

"scala is simple"
Bei der Einfachheit von Scala muss man schon genauer hingucken. Scala vermeidet einige Sonderfälle von Java und ist deshalb in diesen Punkten auch einfacher. Wenn man nur die Möglichkeiten von Scala nutzt, die man auch mit Java hätte, halte ich Scala für einfacher. Der Punkt ist aber, dass man mit Scala viel mehr Möglichkeiten als mit Java hat! Diese neuen Möglichkeiten wollen natürlich auch erstmal gelernt werden und in der Summe dieser Möglichkeiten ist natürlich auch eine höhere Komplexität möglich, allerdings auch eine höhere Produktivität und bessere Abstraktionen.

"scala actors solve all multicore issues"
Hat das jemals jemand ernsthaft behauptet? Parallelisierung ist grundsätzlich nicht trivial, eine Abstraktion wie die Aktoren von Scala vereinfachen lediglich die Lösung dieses Problems. Das bedeutet aber nicht, dass damit alle Probleme in Luft aufgelöst wären. Gegenüber einfachen Threads, die über geteilten Speicher mit Hilfe von Sperren (Mutexe) kommunizieren, sind Aktoren aber ein deutlicher Fortschritt.

"scala pattern matching is powerful"
Dass das gar kein Mythos ist und es tatsächlich mächtig ist, steht ja schon direkt hinter der Aussage. Von daher ist es absurd, das als Mythos zu bezeichnen. Um die Einfachheit von Pattern-Matching ging es ja in der These gar nicht. Wobei ich das Pattern Matching eigentlich gar nicht so schwer verständlich finde.

"scala will replace Java"
Ist das wirklich ein verbreiteter Mythos? Scala ist im Moment wohl der heißeste Kandidat dafür, aber bis jetzt ist die Dominanz von Java so überdeutlich, dass eine Spekulationen über die Nachfolge von Java eben nichts weiter als reine Spekulationen sind. Beachtlich ist allerdings, dass Echo, das Scala ausgelöst hat. Selbst Java-Erfinder James Gosling hat gesagt, dass er heute Scala wählen würde, wenn er etwas anderes als Java wählen sollte. Dass James Strachan, Groovy wohl gar nicht erfunden hätte, wenn er Scala gekannt hätte, hatten wir ja neulich schon.

> Was ist dann der grundlegene Unterschied ?
> Mit Groovy kann ich auf der shell arbeiten.
> (schreib mir mal bitte wie das mit Scala geht)

Das geht mit Scala sehr schön und mit wesentlich weniger Aussetzern als auf der Groovy-Konsole!



> Das Konzept der MetaClass mit dem
> GroovyClassloader kann den statisch typisierten
> Vorteil von Scala imho mehr als wett machen.
> (MetaClass, Expando, ...)

Das ist tatsächlich der wesentliche Unterschied, wobei man auch hier bedenken muss, dass man mit Scala einiges machen kann, wofür man in Groovy Meta-Programmierung verwenden würde.

Gruß
Christian



Dateianhänge:
öffnen | Download - Scala-Shell.png (46.4 KB)


Re: Hat Grails eine Zukunft? Alternativen?

christian - 24.08.2009 13:53
Hallo whitenexx,

hat Grails eine Zukunft? Diese Frage stelle ich mir auch. Bei meinem letzten Projekt mit Grails bin ich über so viele Macken gestolpert, dass ich es abgebrochen habe! Ich glaube, ich habe mit noch keinem Framework gearbeitet, dass derartig viele Macken hatte.

Dabei ist Grails im Prinzip ein sehr schönes Framework. Die Architektur finde ich besser als bei allein Rails-artigen Frameworks, die ich bisher begutachtet habe. Aber der Teufel steckt im Detail. Grails ist einfach zu groß und zu komplex geworden und wird von den eigenen Entwicklern nicht beherrscht. Es werden immer neue Funktionalitäten eingebaut, statt die bestehenden mal zu einer gewissen Reife zu bringen. Andere Projekte haben gleich auf der Startseite einen Link zur einer Seite für Fehlermeldungen, bei Grails muss man die Seite erst suchen und schon das ist ein Symptom für die Qualitätsphilosophie in diesem Projekt.

Graeme Rocher werfe ich vor, sich an einem Funktionalitätswettlauf mit Ruby on Rails zu berauschen und zu wenig Wert auf die Qualität zu legen. Wenn ich mir das bisherige (nach außen sichtbare) Engagement von SpringSource angucke, hat sich daran auch wenig geändert. Kurz: die Qualität von Grails ist derzeit einfach zu schlecht.

Damit verspielt Grails auch gleichzeitig seine Chancen für die Zukunft. Früher oder später könnte auch der etwas unsaubere Entwicklungsprozess von Groovy zum Problem werden, denn der Sprache fehlt das theoretische Fundament in Form einer Spezifikation. Das klappt bisher ganz gut, aber wenn man nicht aufpasst, kann so ein Murks wie bei PHP dabei rauskommen.

Alternativen zu Grails gibt es massenhaft: Ruby on Rails, Django (Python), Pylons (Python), diverse PHP-Frameworks, Spring Roo (Java), Stripes (Java) ... Die haben alle ihre Vor- und Nachteile. Wenn Grails nicht so viele Macken hätte, wäre es ganz klar mein Favorit. Bleibt zu hoffen, dass die Qualität ernster genommen wird.

Lift gefällt mir dagegen nach einem kurzen Blick in die Dokumentation nicht so richtig. Das Grundkonzept hat sich mir dabei einfach nicht erschlossen. Und alles mit langen Maven-Befehlen zu machen finde ich auch nicht wirklich sympathisch. Mich fasziniert Scala aber Lift nicht.

Gruß
Christian


Re: Hat Grails eine Zukunft? Alternativen?

Dierk - 24.08.2009 15:09
Na, wenn ich schon so gebeten werde...

Ich habe diese tweets tatsächlich so wie zitiert gezwitschert.
Es fehlt lediglich #6, das ich später nachgeschoben habe und sich auf die dynamische Typisierung der Scala Aktoren bezieht.
Warum sie bei der twitter Suche nicht mehr auftauchen, entzieht sich meiner Kenntnis.

Wenn man jede der max 140 Zeichen für sich nimmt, kann man das leicht in den falschen Hals kriegen.
Deshalb hier nochmal, was ich schon als Kommentar auf Retos Blog angefügt habe:
'''
Aber zur Klarstellung:
a) Ich vergleiche _nicht_ Scala mit Groovy. Ich tweete lediglich meine persönlichen Beobachtungen beim Erlernen von Scala und stelle die üblichen Behauptungen über diese Sprache in Zweifel.
b) bei Scala geht es um die "Nachfolge" von Java. Das ist bei Groovy niemals der Fall. Groovy ist immer eine Ergänzung zu Java. Deshalb erübrigt sich auch der Vergleich.
Trotzdem vielen Dank für die Aufmerksamkeit : cooler Blog!
[twitter.com]
'''

Manche Mythen erweisen sich auch als begründet - wie eben meiner Meinung nach der über pattern matching.
Alle, die die Serie "Mythsbusters" kennen, werden das bestätigen.

Das die Mythen tatsächlich im Umlauf sind, lässt sich sogar bestätigen - selbst wenn das für Mythen normalerweise weder notwendig noch möglich ist.
Man braucht lediglich die Bücher zum Thema aufschlagen.

Mein Hauptpunkt ist aber folgender: ich möchte jeden ermutigen, sich seine eigenen Gedanken und eigene Experimente zu machen, statt nachzuplappern, was er in einem Forum oder sonstwo liest oder hört!

Also: "think for yourself and question authority" (Timothy Leary)

keep groovin'
Dierk


Re: Hat Grails eine Zukunft? Alternativen?

manfred - 24.08.2009 21:44
Ich denke auch, dass Grails eine Zukunft hat. Wenn, wie Christian schon gesagt hat, etwas mehr auf Qualität geachtet wird.

Persönlich bin ich bei Apache Wicket hängen geblieben (danke für den Tipp, Christian). Das finde ich ziemlich geil und benutze das derzeit zusammen mit Scala. Funktioniert wunderbar.

Ich denke aber man muss unterscheiden.
Web framework != Web framework. Grails geht eher so in die Ruby on Rails und Django Richtung. Rapid development mit konfortablem Scaffolding, Persistenz usw. mit relativ geringer Abstraktion des Request/Response cycles.
Apache Wicket z.B. ist dagegen eher nur ein Framework für den Presentation Layer. Wobei für kleinere Sachen, bei denen man kein IoC braucht, völlig ausreichend. Persistenz mit JDO/JPA/Hibernate ist schnell manuell eingebunden.
Lift geht in eine ähnliche Richtung wobei hier Persistenz schon von Haus aus dabei ist. Dafür hat man hier eine wesentlich höhere Abstraktion der View komponenten. Normalerweise schlägt man sich hier nicht mehr mit Parameter-Auswertung in der Parameter-Map herum und muss auch kein Response Modell zusammen bauen.

Gruss,
Manfred


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Hat Grails eine Zukunft? Alternativen?" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.