Groovy left Cédric Champeau



    In the Apache Groovy project, one of the key members of the community ceases to participate, the very name of which many associated with this language. Leaves Cedric Champeaux , known primarily as the author of static Groovy compiler.

    If we consider the reasons for leaving in the form in which Cedric himself formulates them, it turns out the story of how the Groovy community wanted the best, but in the end unintentionally made itself worse. In the community itself, however, there are other interpretations of what happened. In any case, the story may be of interest to developers from the JVM world, and not only.

    To understand what happened, you need to go from afar. Groovy language, version 1.0 of which was released in 2007, became a contender for the role of “better Java”: it was also designed for the JVM, and at the same time brought a number of new features that developers liked. For example, Baruch jbaruch Sadogursky , known to many javists, at one time wrote on Habr how wonderful AST transformations are and how they improve life when working with Java.

    Groovy penetrated into different areas. For example, DSL was based on it for build scripts in Gradle, thereby sharply increasing the visibility of the language: a variety of javists began to regularly encounter it in the context of the assembly, which provoked further interest in the language. Observing such events, it was easy to imagine a bright future in which Groovy will take an unshakable position in the leaders of the JVM languages.

    Years passed, and Groovy, on the one hand, was quite used, on the other - not to say that it captured the world. And the prospects for this were uncertain: for example, with the advent of Java 8, the need for a “better Java” became less obvious.

    And then he began to rapidly gain popularity Kotlin. Its creators callGroovy is one of those languages ​​that inspired, so in some respects Kotlin resembles Groovy. In principle, this confirms that Groovy made the right decisions: they proved themselves in practice, and others wanted to adopt them. But part of the Groovy community was not happy with such a validation of ideas, but saw a threat.

    Another JVM-language (now not only the JVM, but initially Kotlin fought for this particular market). Which is also called "the best Java." Which partly duplicates the capabilities of Groovy. And which is growing fast.

    In 2016, Gradle announcedthat build scripts can be written not only on Groovy, but also on Kotlin. And in the Groovy community, many perceived this as a stab in the back. At one time, Gradle was helped by the use of a language that many developers liked much more XML from Maven. And now, having become popular, not without the help of Groovy, Gradle supported his arch-rival!

    True, the work on the Kotlin DSL stretched so much that only at the end of 2018 (more than two years after the announcement) it received the status of “production ready”, so that at the moment the world still has not gone anywhere from Groovy in Gradle scripts .

    Finally, back to the present. Cedric Champo announces his departure from Apache Groovy, and in his post explains the reasons.

    He works at Gradle Inc, and writes that his life has become complicated since the moment Kotlin announced support for Gradle. Every time he said something good about Kotlin, people from the Groovy community wrote to him “don’t do it, you are harming Groovy”, “you are not on our side in Gradle there ...”

    Cedric does not see Kotlin as a threat to Groovy, he likes both languages, he uses both, sees both of his advantages. Recently, he has been interested in Kotlin - but for him this does not mean some kind of “transition to the other side of the barricades”, he does not tie his personality to the choice of any particular technology. As a result, he was tired of the feeling of struggle and he became uncomfortable with a situation where he cannot just mention the language without encountering objections and banter.

    The last straw was the other day that he had committed a build script written in Kotlin Gradle DSL to Apache Groovy (which caused objections). According to Cedric, people said that he made such a decision because of work at Gradle Inc, and he is not ready to endure this:

    “I am Cédric. I am not Gradle Inc.
    I am Cédric. I am not Kotlin.
    I am Cédric. I am not Groovy.
    Technologies live and die, I'm not interested in being married with a technology. "

    One could see the story of the “horrible community that has killed a man” - but Cedric emphasizes that he himself does not consider the Groovy community to be toxic at all. He believes that there is simply a lot of fear for the future (quite understandable), and explains the actions of people with this.

    If we consider its interpretation correct, then the story looms as follows: the community fears for the future of the language, but because of these fears it itself has created an atmosphere from which a bright and useful representative has left. That is, wishing Groovy the best, in the end made it worse.

    In the community itself, however, there is another interpretation: in fact, adding a build script in another language did not cause religious horror, but quite reasonable objections like “this is an unnecessary complication of the project, not everyone knows this language”. And with such an interpretation, the story begins to look very different.

    To make your own opinion, you can read, for example, a discussion of this commit.

    In any case, the story is sad. But, fortunately, ended at least not with scandal, but with numerous thankful replies Cedric for everything he did for Groovy.

    Minute of advertising. Since you are here, you are probably interested in developing in Java / JVM languages ​​- and in this case the JPoint conference (Moscow, April 5-6) may be interesting . There will be no reports specifically on Groovy at this JPoint, but among the speakers there is Apache Groovy committer Sergey Egorov - so if you are interested in this language, there will be someone to talk about at the conference.

    Also popular now: