
An dem Apache Groovy-Projekt nimmt eines der wichtigsten Mitglieder der Community nicht mehr teil, dessen Name viele mit dieser Sprache in Verbindung bringen.
Cedric Shampo , der hauptsächlich als Autor des statischen Compilers Groovy bekannt ist, geht.
Wenn wir die Gründe für das Verlassen in der Form betrachten, in der Cedric sie selbst formuliert, stellt sich die Geschichte heraus, wie die Groovy-Community das Beste wollte, sich aber am Ende unbeabsichtigt verschlimmerte. In der Gemeinde selbst gibt es jedoch andere Interpretationen dessen, was passiert ist. In jedem Fall kann die Geschichte nicht nur für Entwickler aus der JVM-Welt von Interesse sein.
Um zu verstehen, was passiert ist, müssen Sie aus der Ferne gehen. Die Groovy-Sprache, deren Version 1.0 2007 veröffentlicht wurde, wurde zu einem Anwärter auf die Rolle des „besseren Java“: Sie wurde auch für die JVM entwickelt und brachte gleichzeitig eine Reihe neuer Funktionen mit sich, die den Entwicklern gefallen haben. Zum Beispiel schrieb
Baruch jbaruch Sadogursky , der vielen Javisten bekannt ist, einmal über Habr, wie wunderbar AST-Transformationen sind und wie sie das Leben bei der Arbeit mit Java verbessern.
Groovy drang in verschiedene Bereiche ein. Zum Beispiel basierte DSL darauf, um Skripte in Gradle zu erstellen, wodurch die Sichtbarkeit der Sprache stark erhöht wurde: Eine Vielzahl von Javisten begegnete ihr regelmäßig im Rahmen der Versammlung, was weiteres Interesse an der Sprache hervorrief. Angesichts solcher Ereignisse war es leicht vorstellbar, dass Groovy eine glänzende Zukunft in der Führung der JVM-Sprachen einnehmen wird.
Jahre vergingen, und Groovy war einerseits ziemlich gebraucht - andererseits - um nicht zu sagen, dass es die Welt eroberte. Und die Aussichten dafür waren ungewiss: Mit dem Aufkommen von Java 8 wurde beispielsweise die Notwendigkeit eines „besseren Java“ weniger offensichtlich.
Und dann gewann er schnell an Popularität Kotlin. Seine Schöpfer
nennen Groovy unter den Sprachen, die sie inspiriert haben, daher ähnelt Kotlin in mancher Hinsicht Groovy. Dies bestätigt im Prinzip, dass Groovy die richtigen Entscheidungen getroffen hat: Sie haben sich in der Praxis bewährt, und andere wollten sie übernehmen. Ein Teil der Groovy-Community war jedoch mit einer solchen Validierung der Ideen nicht zufrieden, sah jedoch eine Bedrohung.
Eine weitere JVM-Sprache (jetzt kämpfte nicht nur die JVM, sondern zunächst Kotlin für diesen speziellen Markt). Welches wird auch "das beste Java" genannt. Was die Fähigkeiten von Groovy teilweise dupliziert. Und das wächst schnell.
Im Jahr 2016 gab Gradle
bekannt, dass es möglich sein wird, Build-Skripte nicht nur in Groovy, sondern auch in Kotlin zu schreiben. Und in der Groovy-Community empfanden viele dies als Stich in den Rücken. Zu einer Zeit wurde Gradle durch die Verwendung einer Sprache unterstützt, die vielen Entwicklern viel mehr XML von Maven gefiel. Und jetzt, da Gradle nicht ohne die Hilfe von Groovy populär geworden war, unterstützte er seinen Erzrivalen!
Die Arbeit an der Kotlin DSL hat sich zwar so weit ausgedehnt, dass sie erst Ende 2018 (mehr als zwei Jahre nach der Ankündigung)
den Status „produktionsbereit“ erhielt, so dass die Welt im Moment noch nicht von Groovy in Gradle-Skripten abweicht .
Zum Schluss zurück in die Gegenwart. Cedric Champo kündigt seine Abreise von Apache Groovy an und erklärt in seinem
Beitrag die Gründe.
Er arbeitet bei Gradle Inc und schreibt, dass sein Leben kompliziert geworden ist, seit Kotlin die Unterstützung für Gradle angekündigt hat. Jedes Mal, wenn er etwas Gutes über Kotlin sagte, schrieben ihm Leute aus der Groovy-Community: "Tu es nicht, du tust Groovy Schaden", "du bist dort in Gradle nicht auf unserer Seite ..."
Gleichzeitig betrachtet Cedric Kotlin nicht als Bedrohung für Groovy, er mag beide Sprachen, er benutzt beide, sieht beide Vorteile. In letzter Zeit hat er sich für Kotlin interessiert - aber für ihn bedeutet dies keine Art „Übergang auf die andere Seite der Barrikaden“, er bindet seine Persönlichkeit nicht an die Wahl einer bestimmten Technologie. Infolgedessen hatte er das Gefühl des Kampfes satt und fühlte sich unwohl in einer Situation, in der er die Sprache nicht nur erwähnen konnte, ohne auf Einwände und Scherze zu stoßen.
Der letzte Strohhalm war neulich, als er Apache Groovy
ein in Kotlin Gradle DSL geschriebenes Build-Skript übergeben hatte (was zu Einwänden führte). Laut Cedric sagten die Leute, er habe eine solche Entscheidung aufgrund der Arbeit bei Gradle Inc getroffen, und er sei nicht bereit, dies zu ertragen:
„Ich bin Cédric. Ich bin nicht Gradle Inc.
Ich bin Cédric. Ich bin kein Kotlin.
Ich bin Cédric. Ich bin nicht groovig.
Technologien leben und sterben, ich bin nicht daran interessiert, mit einer Technologie verheiratet zu sein. "
Man könnte die Geschichte der „schrecklichen Gemeinschaft, die einen Mann getötet hat“ sehen - aber Cedric betont, dass er selbst die Groovy-Gemeinschaft überhaupt nicht als giftig ansieht. Er glaubt, dass es einfach viel Angst um die Zukunft gibt (ziemlich verständlich) und erklärt die Handlungen der Menschen damit.
Wenn wir die Interpretation für richtig halten, sieht die Geschichte wie folgt aus: Die Gemeinschaft fürchtet um die Zukunft der Sprache, aber aufgrund dieser Ängste hat sie selbst eine Atmosphäre geschaffen, aus der ein heller und nützlicher Vertreter hervorgegangen ist. Das heißt, Groovy das Beste zu wünschen, machte es am Ende noch schlimmer.
In der Community selbst gibt es jedoch eine andere Interpretation: Tatsächlich hat das Hinzufügen eines Build-Skripts in einer anderen Sprache keinen religiösen Horror verursacht, aber durchaus vernünftige Einwände wie „Dies ist eine unnötige Komplikation des Projekts, nicht jeder kennt diese Sprache“. Und mit einer solchen Interpretation sieht die Geschichte ganz anders aus.
Um sich eine eigene Meinung zu bilden, können Sie beispielsweise eine
Diskussion über dieses Commit lesen.
Auf jeden Fall ist die Geschichte traurig. Aber zum Glück endete das zumindest nicht mit einem Skandal, sondern mit zahlreichen
dankbaren Antworten an Cedric für alles, was er für Groovy getan hat.
Minute der Werbung. Da Sie hier sind, sind Sie wahrscheinlich an der Entwicklung in Java / JVM-Sprachen interessiert - und in diesem Fall kann die JPoint- Konferenz (Moskau, 5.-6. April) interessant sein. An diesem JPoint wird es keine speziellen Berichte über Groovy geben, aber unter den Rednern befindet sich der Apache Groovy-Committer Sergey Egorov. Wenn Sie also an dieser Sprache interessiert sind, gibt es jemanden, über den Sie auf der Konferenz sprechen können.