Geht Groovy weg? [geschlossen]

30

Ich bin sicher, dass diese Frage oft gestellt wurde. Ich frage es jedoch gerne noch einmal mit der Absicht, was die Zukunft dieser Sprachen ist.

Ich wurde zuerst in Groovy eingeführt und mochte es wirklich. Ich hatte das Gefühl, dass die Syntax einfacher und Java viel näher war und ich Grails schnell lernen konnte .

Dann gab es Scala und den Stegrahmen Lift . Ich lerne immer noch Scala und finde die Syntax manchmal sehr schwierig.

Ich frage mich jedoch immer noch, wie die Zukunft von Groovy aussehen wird. Wenn der Autor von Groovy sagt, er hätte niemals groovy gemacht, wenn er von Scala gewusst hätte, dann frage ich mich, ob es überhaupt eine Zukunft gibt. Natürlich hat Groovy einen langen Weg zurückgelegt und Grails wird heute von vielen großen Unternehmen eingesetzt.

Wenn man sich heute Grails vs Lift ansehen würde, wäre Grails ein klarer Gewinner. Immer mehr Unternehmen setzen es ein. Aber nach allem, was ich bisher gesagt habe, bin ich gespannt, ob man in Groovy investieren sollte. Geht Groovy weg und Scala die bessere Wahl? Wenn der CEO von BMW sagt, er fährt einen Mercedes, dann würde man sich fragen, warum wir nicht auch alle Mercedes fahren sollten, oder?

(Ich verstehe, ob diese Frage wirklich weit gefasst ist und geschlossen werden könnte. Ich hoffe, dass es trotzdem ein offenes Wiki für andere ist.)

Amir Raminfar
quelle
1
Wenn man sich heute Grails vs Lift ansehen würde, wäre Grails ein klarer Gewinner. Sagt wer?
Mahmoud Hossam
Ich habe nur nach Beliebtheit gesucht. Grails hat x1000 Follower und Lift hat nur x200ish beim Stackoverflow.
Amir Raminfar
Vielleicht ist das Heben einfacher? hat eine bessere dokumentation? oder vielleicht gibt es Grails schon länger als Lift?
Mahmoud Hossam
3
Es wäre fairer, Grails mit Scala + Play Framework zu vergleichen. Play Framework kann auch mit Java verwendet werden und ist von Ruby on Rails inspiriert.
Jonas
3
"Wenn man sich heute Grails vs Lift anschaut, dann ist Grails ein klarer Gewinner" , sagten Sie vor 2 Jahren, aber Play! 2 hat Lift als führendes Scala-basiertes Web-Framework leicht verdrängt und ist Grails (IMHO) voraus.
Vorg van Geir

Antworten:

23

Ich glaube nicht, dass Groovy verschwinden wird, es ist jetzt eine eigenständige Einheit. Grails Framework basiert auf der Groovy-Sprache, was ein guter Grund ist, am Leben zu bleiben. Groovy hat seine Killerapplikation bekommen.

Ich sage nicht, dass Grails das einzige wichtige Groovy-Projekt ist, Gradle ist auch ziemlich gut. GORM ist wirklich praktisch. Gant ist eine schöne Verbesserung gegenüber Ant.

Nicht zu vergessen, dass Groovy / Grails jetzt unter dem Dach von SpringSource stehen und sich für beide einsetzen.

Wenn der CEO von BMW sagt, er fährt einen Mercedes, dann würde man sich fragen, warum wir nicht auch alle Mercedes fahren sollten, oder?

Ratet mal, was James Gosling gewählt hat?

Chiron
quelle
Gradle ist kein Open Source mehr! _!
Ant
1
Was wirklich zählt, ist die Kernsprache und ihre Kernbibliotheken. Sie können nichts besser machen als Groovy. Die Hauptsprache ist einfach und dynamisch, sie ist schnell und die Java-Bibliotheken wie Apache usw. sind besser als in anderen Sprachen. Es ist die beste Sprache, die es gibt und deshalb wird sie nicht verschwinden. Plugins and Grails ist nicht das, worauf es ankommt - die Welt der dynamischen Sprachen wie PHP weiß bereits, worauf es ankommt (wie ich bereits sagte). Und es gibt Kater und JBoss. Jetzt geh und überprüfe Ruby, es ist ein Witz! Es ist schlimmer als .net! Überprüfen Sie nun Python und finden Sie heraus, wie Sie mit Fehlern im Netzwerkcode umgehen können.
Andrew Smith
Sie haben Recht .. Gradle wird immer beliebter, die Groovy-Skripte verwendet ..
The Coder
6

Sowie die Kommentare von @The Legend of 1982:

Groovy wird weiterhin bestehen bleiben, da es die dynamische Alternative zu Java mit einer Syntax ist, die Java nahe genug kommt, um vielen Entwicklern den Wechsel zu ermöglichen (oder zumindest zu versuchen).

  • Grails befindet sich ständig in den Top 2 der Frameworks, wenn Matt Raible seine massiven JVM-Webframework-Vergleichstabellen / -Analysen durchführt. Seine Analyse ist wahrscheinlich die vollständigste, die es gibt.

  • GPars ist eine neue Concurrency-Bibliothek / API, mit der Groovy die Fähigkeiten von Scala dort sehr verbessert.

Das Problem mit der Geschwindigkeit wird sich mit der Zeit verbessern, da Groovy herausfindet, wie aufgerufene dynamische und andere Compiler-Tricks verwendet werden.

Martijn Verburg
quelle
"Grails ist ständig in den Top 2 der Frameworks", aber PHP-basierte Backends gelten nicht als "Framework", auch wenn die große Mehrheit der Unternehmen dies noch immer nutzt.
Vorg van Geir
3

Groovy ist eine sehr nette und unterschätzte Sprache (auch von ihrem eigenen Schöpfer, wie du erwähnt hast). Was mich betrifft, ist es eine Rolle im Java-Ökosystem wie die Rolle von Lua im C / C ++ - Weltökosystem. Ja, so schnell ist es aber trotzdem nicht.

Ich werde sehr traurig sein, wenn Groovy sterben wird, aber diese Roadmap sagt uns tatsächlich, dass es nicht so schlimm ist.

Tatsächlich ist Groovy eine sehr nette, ordentliche und ausdrucksstarke Sprache. Was Scala betrifft, glaube ich, dass Groovy und Scala nur in verschiedenen Nischen sind.

shabunc
quelle
3

Nicht um die allgemeine Vorzüglichkeit von Groovy oder Ruby zu übertreffen, aber über 90% des Web-Traffics entfallen auf Sites, die in PHP oder einem Java-Framework geschrieben wurden.

Ich weiß nicht, woher Sie die "Grails wird von vielen großen Unternehmen verwendet" haben. Dies ist ziemlich ähnlich wie die Aussage "Alle Fortune 500-Unternehmen verwenden Python", was tatsächlich zutrifft, aber sie verwenden Python nicht für geschäftskritische Zwecke.

Es ist richtig, dass sie keine Grails, Rails usw. verwenden. Sie eignen sich hervorragend für kleine, gepflegte Standorte, lassen sich aber nicht gut skalieren. Auch die meisten großen Unternehmen haben eng miteinander verbundene Systeme, und die größte Herausforderung beim Erstellen von Webanwendungen besteht darin, wie die Verbindung zu allen anderen Systemen hergestellt werden kann, die Ihre Daten bereitstellen oder verbrauchen.

Groovy, der Hauptkonkurrent der Sprache, ist JPython, das im selben Bereich arbeitet (Scripting auf einer JVM) und für die gleichen Dinge verwendet wird (automatisierte Tests, automatisierte Builds usw.).

James Anderson
quelle
1
Wenn ich mich umsehe, verwendet niemand, den ich kenne, Groovy in diesen Tagen, und in meiner Region werden keine Stellenangebote von Groovy ausgeschrieben. Also sieht es sicher nicht gut aus. Ich bin mir sicher, dass es in Gebrauch ist, aber es ist keine Mainstream-Technologie hier.
Brian Knoblauch
1
@ Brian Groovy ist immer noch die einzig mögliche Wahl, wenn Sie Grails verwenden müssen. (Zugegebenermaßen wird Grails zunehmend durch sauberere Nachwuchskräfte wie Play! 2 verdrängt.)
Vorg van Geir
@ James Vergessen Sie nicht Eclipse als Groovy-Killer für JVM-
Skripte
Ich bin jetzt mit Groovy über ein lokales Geschäft gelaufen! Allerdings habe ich noch niemanden getroffen, der Grails benutzt.
Brian Knoblauch
2

Die Leistung von Groovy 2.0 bringt Groovy jetzt in eine Liga, die Java sehr nahe kommt (siehe http://java.dzone.com/articles/groovy-20-performance-compared) Der Benchmark in diesem Artikel ist sehr grob, aber ich bin Derzeit wird an einem neuen Benchmark für Groovy 2.1 gearbeitet, der auf dem Benchmark von Robert Hundt (https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf) basiert, um die Leistung von Google Go zu vergleichen mit anderen Sprachen. Ich brauche 2-3 Wochen, bis ich mit dem Schreiben des Artikels fertig bin, aber die Messungen sehen bisher sehr gut aus. Groovy2.1 mit @CompileStatic und JDK7 hat ungefähr die gleiche Leistung wie Java mit JDK6 (!).

Ich denke, Groovy wird eher mit Kotlin und vielleicht Ceylon konkurrieren als mit Scala. Scala ist eher eine akademische Forschungssprache (wenn auch eine sehr interessante) und weniger eine Sprache, mit der man seine Arbeit als Groovy und Kotlin erledigen kann. Wenn Sie einfach Mixins, Erweiterungsmethoden, echte Closures und Dinge in Java vermissen, ist es ein großer Schritt, den Sie machen müssen, um dies zu bekommen. Die Syntax von Groovy ist Java sehr ähnlich, was im Vergleich zu Kotlin ein echtes Verkaufsargument darstellt.

OlliP
quelle
4
Ich bin mir nicht einig, dass Scala akademisch ist. Es ist tatsächlich sehr produktiv und hilfreich und wird derzeit in vielen Finanzinstituten, auf Linkedin, Twitter usw. verwendet. Ich habe hier, wo ich arbeite, sowohl Scala als auch Groovy ausprobiert und ich würde Groovy nie für Projekte mit einer geringen Komplexitätsschwelle wählen.
Andrea
1
Erst letzte Woche ist ein schwerwiegender Fehler im statisch kompilierten Groovy 2.1-Modus aufgetaucht. Sie können mit Fehlern Geschwindigkeit erreichen (dh mit statischem Groovy) oder Sie können Zuverlässigkeit erreichen, aber langsam (dh mit dynamisch kompiliertem Groovy), aber Sie können nicht sowohl Geschwindigkeit als auch Zuverlässigkeit erreichen. Quantum-Effect-Programmiersprachen sind für niemanden von Nutzen.
Vorg van Geir
1
Groovy ist eine Sprache, die Java überlagert (dh Java einige Funktionen hinzufügt). Ziemlich komplexe Systeme wurden mit Java erstellt. Ich glaube nicht, dass Sie eine sehr ausgefeilte Sprache benötigen, um komplexe Anwendungen zu schreiben. Ich habe mehrere Groovy-Compiler-Bugs zu Groovys Bug-Base hinzugefügt und ich glaube, dass Scala den qualitativ besseren Compiler hat. Aber ich glaube nicht, dass Sie Scala brauchen, weil die Anwendung anspruchsvoll ist. Die Lösung liegt im Design und im Fachwissen der Problemdomäne, nicht so sehr in der Sprache.
OlliP