Hi Cédric,

I think that It should be obvious that there is a conflict of interests here, and that agreeing to you suggestion looks to be worse for Groovy than the very old saying by the original Groovy author about "never having done Groovy if he had known a certain other language existed" (all taken back later and no longer relevant - but still quoted in discussions many years later).

Maybe I am missing something, but it seems to me that Jetbrains could have put their weight behind Groovy, especially its static part, gaining all the benefits with regards to tool support / Intellisense they now claim for Kotlin (having worked with purely dynamic Groovy for years using IntelliJ IDEA, I also have at least some doubts about the whole "you cannot supply good Intellisense for Gradle DSL" mantra), also in Gradle.

Instead they decided to develop their own independent language, evidently very much inspired by Groovy, with imho some doubtful syntax & design decisions where it deviates (and of course missing the dynamic support and powerful annotations, as well as the big Groovy ecosystem). Having Jetbrains behind it and evidently being heavily invested in it, is not just another language on the block that joins the happy family of Java alternatives. Jetbrains is pushing their language aggressively (including but not restricted to on Wikipedia), and they have already scored at least twice: One with the deal with Google Android development, and second with Gradle adapting Kotlin as an alternative base for its DSL.

The same as Jetbrains must want to get rid of supporting a complex language like Groovy and replacing it with their own language if possible for purely economical reasons (Note that some Groovy 2.5 features are still not supported in IntelliJ, months after release), Gradle Inc. must want to only support a single DSL code base. Evidently this is the Kotlin based one, otherwise why introduce it in the first place ? The problem is that it seems uptake of the new DSL has been slow, as people see no (or not enough) reason to switch from Groovy. So of course there are no current plans to scrap Groovy support in Gradle, since that would be suicide. You can try to convince me otherwisem but it would be very surprising to me, if that would not change, should a certain percentage of users shift.

I can't say how hard this would be on a technical level, and while it is unlikely, it could potentially still be nice if Groovy and Kotlin would join forces, with the static part of Groovy being merged with Kotlin, just with nice groovy Java/Groovy syntax, and without the uselessly restrictive things in Kotlin (that way people could actually choose what language variety to use). Then this whole discussion would dissapear, but since, as I said Jetbrains already decided against that option, and instead invested several years into developing their own language from scratch...*.

Just my 50 Cents (from "Get Groovy or Die Trying"),
mg

*Others here of course have much more insight than me into these matters, including you (but see under conflict of interests).



On 20/03/2019 22:41, Cédric Champeau wrote:
Well I think I disagree with most of what you just said. And Gradle Inc will not deprecate the groovy support anytime soon. I'm well placed to know it's not even in discussion. The only thing that I see could lead to such a decision would be that groovy doesn't run on future versions of the JVM. Let's not take decisions on speculations, but facts.

Le mer. 20 mars 2019 à 22:35, Sergio del Amo Caballero <sergio.del...@softamo.com <mailto:sergio.del...@softamo.com>> a écrit :

    I don’t know what do you imply that I am trying to hide.

    I think:

    - Gradle Groovy DSL helps Groovy adoption and thus survival.

    same as Geb DSL on top of Selenium helps Groovy adoption and thus
    survival.

    I think if everyone moves to Kotlin DSL, Gradle Inc will lose
    interest in maintaining Groovy Gradle DSL and eventually deprecate
    the Groovy Gradle DSL and remove it and hurt Groovy adoption and
    thus survival .

    I think that Apache Groovy build transitions towards Kotlin DSL is
    a signal towards prompting that move.

     About maintaining the build itself:

    - If the only person touching the build is going to be someone
    with Kotlin and Groovy knowledge, then I would say better to have
    the DSL in the language they are more productive with it.
    - If persons, who touch the build, don’t know Kotlin, I think that
    it is another barrier. I assume that someone with no Kotlin
    Knowledge but using the Kotlin DSL and assisted by the IDE support
    is going to do a worst job than someone with a lot of Groovy
    knowledge using the Groovy Gradle DSL.

    Sergio del Amo

    On 20 Mar 2019, at 21:50, Cédric Champeau
    <cedric.champ...@gmail.com <mailto:cedric.champ...@gmail.com>> wrote:

    And do you honestly think that trying to hide that by not using
    the Kotlin DSL would change anything?

    Le mer. 20 mars 2019 à 21:45, Sergio Del Amo
    <sergio.del...@softamo.com <mailto:sergio.del...@softamo.com>> a
    écrit :


        I do in fact see this as at least a minor threat.  If Groovy
        itself can't even manage to use the Gradle Groovy DSL, what
        hope remains for the survival of the Groovy DSL?


        Agree. I see a threat at least to Gradle Groovy DSL survival
        and probably to Groovy in general. One may reason: If the
        Groovy programming language build, which is manipulated by
        the people with more Groovy knowledge in the planet, moved to
        Kotlin DSL, why should anyone else keep using the Gradle
        Groovy DSL.

        Sergio

        On 20 Mar 2019, at 16:00, Milles, Eric (TR Tech, Content &
        Ops) <eric.mil...@thomsonreuters.com
        <mailto:eric.mil...@thomsonreuters.com>> wrote:

        I tried to get some info from Gradle on adding Eclipse DSLD
        for Gradle and they scoffed at me.  They said it was a
        multi-person, multi-year effort so why even try. I was able
        to get some very basic support without that much effort.  It
        could be moved forward and probably ported to IntelliJ as
        well if there was some interest and support.


        With regards to the change to the Groovy build script.  I'm
        not sure newcomers are diving into the build scripts and
        making edits there.  My intuition is that they are running
        "./gradlew build" or whatever the command is.  As long as
        the scripts run successfully, I'd posit a newcomer is quite
        happy.


        I do in fact see this as at least a minor threat.  If Groovy
        itself can't even manage to use the Gradle Groovy DSL, what
        hope remains for the survival of the Groovy DSL?


Reply via email to