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.)
Antworten:
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.
Ratet mal, was James Gosling gewählt hat?
quelle
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.
quelle
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.
quelle
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.).
quelle
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.
quelle