
Dans le projet Apache Groovy, l'un des membres clés de la communauté cesse de participer, dont le nom même est souvent associé à cette langue.
Cedric Shampo , connu principalement comme l'auteur du compilateur statique Groovy, s'en va.
Si nous considérons les raisons du départ sous la forme dans laquelle Cédric lui-même les formule, il s'avère que la communauté Groovy voulait le meilleur, mais s'est finalement aggravée involontairement. Dans la communauté elle-même, cependant, il existe d'autres interprétations de ce qui s'est passé. Dans tous les cas, l'histoire peut intéresser les développeurs du monde JVM, et pas seulement.
Pour comprendre ce qui s'est passé, il faut partir de loin. Le langage Groovy, dont la version 1.0 est sortie en 2007, est devenu un concurrent pour le rôle de «meilleur Java»: il a également été conçu pour la JVM, et en même temps a apporté un certain nombre de nouvelles fonctionnalités que les développeurs aimaient. Par exemple,
Baruch jbaruch Sadogursky , connu de nombreux javistes, a
écrit à un moment sur Habr à quel point les transformations AST sont merveilleuses et comment elles améliorent la vie en travaillant avec Java.
Groovy a pénétré dans différents domaines. Par exemple, DSL était basé sur lui pour construire des scripts dans Gradle, augmentant ainsi fortement la visibilité de la langue: une variété de javistes ont commencé à la rencontrer régulièrement dans le contexte de l'assemblage, ce qui a suscité un intérêt accru pour la langue. En observant de tels événements, il était facile d'imaginer un avenir brillant dans lequel Groovy prendra une position inébranlable dans les leaders des langages JVM.
Les années ont passé et Groovy, d'une part, a été assez utilisé, de l'autre - pour ne pas dire qu'il a conquis le monde. Et les perspectives étaient incertaines: par exemple, avec l'avènement de Java 8, la nécessité d'un «meilleur Java» est devenue moins évidente.
Et puis il a commencé à gagner rapidement en popularité Kotlin. Ses créateurs
nomment Groovy parmi les langues qui les ont inspirés, donc à certains égards, Kotlin ressemble à Groovy. En principe, cela confirme que Groovy a pris les bonnes décisions: ils ont fait leurs preuves dans la pratique et d'autres ont voulu les adopter. Mais une partie de la communauté Groovy n'était pas satisfaite d'une telle validation des idées, mais voyait une menace.
Un autre langage JVM (maintenant non seulement la JVM, mais initialement Kotlin s'est battu pour ce marché particulier). Qui est aussi appelé "le meilleur Java". Ce qui duplique en partie les capacités de Groovy. Et qui se développe rapidement.
En 2016, Gradle a
annoncé qu'il serait possible d'écrire des scripts de construction non seulement dans Groovy, mais aussi dans Kotlin. Et dans la communauté Groovy, beaucoup ont perçu cela comme un coup de couteau dans le dos. À une certaine époque, Gradle a été aidé par l'utilisation d'un langage que de nombreux développeurs aimaient beaucoup plus XML de Maven. Et maintenant, devenu populaire, non sans l'aide de Groovy, Gradle a soutenu son grand rival!
Certes, le travail sur le Kotlin DSL s'est tellement étiré que ce n'est qu'à la fin de 2018 (deux ans et demi après l'annonce) qu'il a
reçu le statut de «prêt pour la production», de sorte qu'au moment où le monde n'est toujours pas allé de Groovy dans les scripts Gradle. .
Enfin, revenons au présent. Cédric Champo annonce son départ d'Apache Groovy et explique dans son
post les raisons.
Il travaille chez Gradle Inc et écrit que sa vie est devenue compliquée depuis le moment où Kotlin a annoncé son soutien à Gradle. Chaque fois qu'il disait quelque chose de bien à propos de Kotlin, des gens de la communauté de Groovy lui écrivaient "ne le fais pas, tu fais du mal à Groovy", "tu n'es pas de notre côté à Gradle ..."
Dans le même temps, Cédric ne considère pas Kotlin comme une menace pour Groovy, il aime les deux langues, il utilise les deux, voit ses deux avantages. Récemment, il s'est intéressé à Kotlin - mais pour lui, cela ne signifie pas une sorte de «transition de l'autre côté des barricades», il ne lie pas sa personnalité au choix d'une technologie particulière. En conséquence, il était fatigué du sentiment de lutte et il est devenu mal à l'aise avec une situation où il ne peut pas simplement mentionner la langue sans rencontrer d'objections et de plaisanteries.
La dernière goutte était l'autre jour où il avait
commis un script de construction écrit en Kotlin Gradle DSL à Apache Groovy (ce qui a provoqué des objections). Selon Cedric, les gens ont dit qu'il avait pris une telle décision en raison du travail chez Gradle Inc, et il n'est pas prêt à supporter cela:
«Je suis Cédric. Je ne suis pas Gradle Inc.
Je suis Cédric. Je ne suis pas Kotlin.
Je suis Cédric. Je ne suis pas Groovy.
Les technologies vivent et meurent, je ne suis pas intéressé à me marier avec une technologie. "
On pourrait voir l'histoire de «la communauté horrible qui a tué un homme» - mais Cédric souligne que lui-même ne considère pas du tout la communauté Groovy comme toxique. Il croit qu'il y a simplement beaucoup de peur pour l'avenir (tout à fait compréhensible), et explique les actions des personnes avec cela.
Si nous considérons son interprétation correcte, alors l'histoire se profile comme suit: la communauté craint pour l'avenir de la langue, mais à cause de ces craintes, elle a elle-même créé une atmosphère à partir de laquelle un représentant brillant et utile est parti. Autrement dit, souhaiter à Groovy le meilleur, au final, a empiré.
Dans la communauté elle-même, cependant, il existe une autre interprétation: en fait, l'ajout d'un script de construction dans une autre langue n'a pas causé d'horreur religieuse, mais des objections tout à fait raisonnables comme «c'est une complication inutile du projet, tout le monde ne connaît pas cette langue». Et avec une telle interprétation, l'histoire commence à être très différente.
Pour vous faire votre propre opinion, vous pouvez lire, par exemple, une
discussion sur ce commit.
En tout cas, l'histoire est triste. Mais, heureusement, qui s'est terminé au moins non par un scandale, mais par de nombreuses
réponses reconnaissantes à Cédric pour tout ce qu'il a fait pour Groovy.
Minute de publicité. Puisque vous êtes ici, vous êtes probablement intéressé à développer des langages Java / JVM - et dans ce cas, la conférence JPoint (Moscou, 5-6 avril) peut être intéressante. Il n'y aura aucun rapport spécifique sur Groovy à ce JPoint, mais parmi les intervenants il y a le committer d'Apache Groovy Sergey Egorov - donc si vous êtes intéressé par cette langue, il y aura quelqu'un à qui parler lors de la conférence.