[DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

classic Classic list List threaded Threaded
34 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

h2gr
Bloated, is the word I was looking for...

Den 2018-06-13 19:46, skrev [hidden email]:

> I did come from Java myself, and I understand the argument to ease the
> transition from Java to Groovy, but as Java adopts language features
> from Groovy, I worry that supporting both syntaxes will create a more
> complex language with more options, more stuff to learn, and less
> clarity.
>
> Besides, in my experience developers are quite able to handle
> different languages. Granted, Groovy should be easy to read and
> understand for developers coming from Java (and other) languages, but
> not every language feature in other languages need to be valid Groovy
> code as well.
>
> H2
>
>
> Den 2018-06-13 17:24, skrev MG:
>> On 6/13/2018 10:24 AM, [hidden email] wrote:
>>> (I may be alone on this one, but I'd even suggest to consider some of
>>> the Java syntax compatibility, if this helps speed up Groovy 3. If I
>>> need to write Java code, I can always put it in .java files.)
>>
>> Java-syntax-compatibility-only-support in Groovy is not there to be
>> used by Groovy developers (see previous discussions about warning when
>> using these constructs), but to support copy & paste compatibility for
>> people considering switching from Java.
>> I understand where you are coming from, but imho the closesness to
>> Java always has been another strong argument for Groovy, and
>> considering supporting Java syntax constructs in Groovy 3.0 through
>> the Parrot parser seems pretty straightforward I think we should keep
>> doing this.
>>
>> An alternative would be to support a tool which auto-converts from
>> Java to Groovy (I would estimate this would be more effort, and it
>> does not really give the "copy & paste Java code and it is Groovy"
>> experience). Or IntelliJ/Eclipse/Netbeans could support this as part
>> of their respective code refactoring support...
>>
>> Cheers,
>> mg
>>
>>
>>>
>>> Den 2018-06-13 10:08, skrev Mario Garcia:
>>>> I would say 3 as well
>>>>
>>>> 2018-06-13 10:04 GMT+02:00 Robert Oschwald
>>>> <[hidden email]>:
>>>>
>>>>> Same with me. Option 3 seems best, even when some of our projects
>>>>> are still on Grails 2.
>>>>>
>>>>> Am 13.06.2018 um 09:50 schrieb Søren Berg Glasius
>>>>> <[hidden email]>:
>>>>> While the project I'm on is still on JDK 7, but due to Grails 2.x I
>>>>> think that option 3 is the best way to move forward (and nudge
>>>>> projects on to a higher version of Grails as well).
>>>>>
>>>>> /Søren
>>>>>
>>>>> On Wed, 13 Jun 2018, 09.42 , <[hidden email]>
>>>>> wrote:
>>>>>
>>>>> I agree on option 3 (abandon 2.6 immediately).
>>>>>
>>>>> JDK 6 or 7 is not in use anywhere that I have project visibility.
>>>>>
>>>>> Full support for JKD9+ is becoming a pressing issue. Users are
>>>>> concerned about the ability of Groovy to run on future JDK releases
>>>>> (including GraalVM), more than legacy support.
>>>>>
>>>>> Best Regards
>>>>>
>>>>> FROM: Paolo Di Tommaso [mailto:[hidden email]]
>>>>> SENT: Wednesday, June 13, 2018 3:18 AM
>>>>> TO: [hidden email]
>>>>> SUBJECT: Re: [DISCUSS] Groovy 2.6 potential retirement to focus on
>>>>> Groovy 3.0
>>>>>
>>>>> I agree on option 3 (abandon 2.6 immediately).
>>>>>
>>>>> Full support for JKD9+ is becoming a pressing issue. Users are
>>>>> concerned about the ability of Groovy to run on future JDK releases
>>>>> (including GraalVM), more than legacy support.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> p
>>>>>
>>>>> On Wed, Jun 13, 2018 at 9:11 AM, David Dawson
>>>>> <[hidden email]> wrote:
>>>>>
>>>>> I would vote 2.
>>>>>
>>>>> Actually, i would vote 3) abandon 2.6 immediately.
>>>>>
>>>>> No projects I have any knowledge of still use jdk 7.
>>>>>
>>>>> FROM: [hidden email]
>>>>>
>>>>> SENT: 13 June 2018 08:06
>>>>>
>>>>> TO: [hidden email]
>>>>>
>>>>> REPLY TO: [hidden email]
>>>>>
>>>>> SUBJECT: [DISCUSS] Groovy 2.6 potential retirement to focus on
>>>>> Groovy 3.0
>>>>>
>>>>> Hi everyone,
>>>>>
>>>>> There was some discussion at gr8conf about how to speed up delivery
>>>>> of Groovy 3.0. Some of that discussion was around the scope of what
>>>>> we want to include and have yet to complete in 3.0 but I won't
>>>>> discuss that right now.
>>>>>
>>>>> One of the other discussion points was Groovy around 2.6. As many
>>>>> of
>>>>> you know, we have released alpha versions of Groovy 2.6. That
>>>>> version is a backport of most but not all of Groovy 3.0 to JDK7
>>>>> including the Parrot parser (though it isn't enabled by default).
>>>>> The purpose of this version has always been to assist
>>>>> people/projects wanting to use the Parrot parser but who might be
>>>>> stuck on JDK7. So in some sense it is an intermediate version to
>>>>> assist with porting towards Groovy 3.0. While that is still a noble
>>>>> goal in theory, in practice, many of our users are already on JDK8
>>>>> and we have limited resources to work on many potential areas.
>>>>>
>>>>> With that in mind, we'd like to understand the preferences in our
>>>>> user base for the following two options:
>>>>>
>>>>> Option 1: please continue releasing the best possible 2.6 even if
>>>>> that slows down the final release of Groovy 3.0 and delays further
>>>>> work on better support for JDK9+.
>>>>>
>>>>> Option 2: please release one more alpha of 2.6 over the next month
>>>>> or so which will become the best version to use to assist porting
>>>>> for users stuck on JDK7 and then focus on 3.0. The 2.6 branch will
>>>>> essentially be retired though we will consider PRs from the
>>>>> community for critical fixes.
>>>>>
>>>>> Feedback welcome.
>>>>>
>>>>> Cheers, Paul.
>>>>>
>>>>> -- Best regards / Med venlig hilsen,
>>>>>
>>>>> Søren Berg Glasius
>>>>>
>>>>> Hedevej 1, Gl. Rye, 8680 Ry, Denmark
>>>>> Mobile: +45 40 44 91 88, Skype: sbglasius
>>>>> --- Press ESC once to quit - twice to save the changes.
>>>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

paulk_asert
In reply to this post by Corum, Michael


On Wed, Jun 13, 2018 at 10:11 PM, Corum, Michael <[hidden email]> wrote:

If 3.0 will still support JDK8, I’d vote for option 3 as well.  If 3 will require 9, then maybe option 2.


 
Groovy 3.0 has JDK8 as minimum.

Cheers, Paul.
  
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

paulk_asert
In reply to this post by David Dawson


On Wed, Jun 13, 2018 at 5:11 PM, David Dawson <[hidden email]> wrote:
I would vote 2.

Actually, i would vote 3) abandon 2.6 immediately.

We identified a few major things that were broken in the previous alpha release of
2.6 but only due to trivial packaging issues, hence the plan to do one more release.

Also, Jesper identified a few things that can easily be aligned from 3.0 in
a very short period of time. I am happy to wait for his thumbs up before proceeding.

I am also keen on releasing another alpha of 3.0 at the same time as the 2.6 alpha.
I believe that will make our life easier when answering future support-oriented questions
about 2.6 on the mailing list going forward.

So, doing one more alpha release of 2.6 has minimal impact on 3.0 timing and leaves
us in as clean a state as can be hoped for when retiring a previously planned branch.

Cheers, Paul.

Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

Keith Suderman


On Jun 13, 2018, at 2:17 PM, Paul King <[hidden email]> wrote:



On Wed, Jun 13, 2018 at 5:11 PM, David Dawson <[hidden email]> wrote:
I would vote 2.

Actually, i would vote 3) abandon 2.6 immediately.

We identified a few major things that were broken in the previous alpha release of
2.6 but only due to trivial packaging issues, hence the plan to do one more release.

How about an option #4.  If you are planning to do one more release of 2.6.0 anyway just drop the 'alpha' from the name and announce that it is the first and last 2.6.x release expected.

- Keith


Also, Jesper identified a few things that can easily be aligned from 3.0 in
a very short period of time. I am happy to wait for his thumbs up before proceeding.

I am also keen on releasing another alpha of 3.0 at the same time as the 2.6 alpha.
I believe that will make our life easier when answering future support-oriented questions
about 2.6 on the mailing list going forward.

So, doing one more alpha release of 2.6 has minimal impact on 3.0 timing and leaves
us in as clean a state as can be hoped for when retiring a previously planned branch.

Cheers, Paul.


----------------------
Keith Suderman
Research Associate
Department of Computer Science
Vassar College, Poughkeepsie NY




Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

J. David Beutel-4
In reply to this post by Scott Hickey-2
Option 2 or 3.  I'm running Grails 2.5.3 on JDK 8, although I intend to upgrade to the current versions, when I have the time for that.


On 2018-06-13 07:53 , Scott Hickey wrote:
I've have always appreciated the willingness of the Groovy team to recognize that enterprises can't always move quickly to current versions of Java. 

At Mutual of Omaha, we do have almost everything running on JDK 8 now. We are actively trying to get our few remaining Grails 2.x versions upgraded to a current version of Grails.

I don't think that focusing only on Groovy 3 at this point would adversely affect our company.


On Wed, Jun 13, 2018 at 2:06 AM Paul King <[hidden email]> wrote:

Hi everyone,

There was some discussion at gr8conf about how to speed up delivery of Groovy 3.0. Some of that discussion was around the scope of what we want to include and have yet to complete in 3.0 but I won't discuss that right now.

One of the other discussion points was Groovy around 2.6. As many of you know, we have released alpha versions of Groovy 2.6. That version is a backport of most but not all of Groovy 3.0 to JDK7 including the Parrot parser (though it isn't enabled by default). The purpose of this version has always been to assist people/projects wanting to use the Parrot parser but who might be stuck on JDK7. So in some sense it is an intermediate version to assist with porting towards Groovy 3.0. While that is still a noble goal in theory, in practice, many of our users are already on JDK8 and we have limited resources to work on many potential areas.

With that in mind, we'd like to understand the preferences in our user base for the following two options:

Option 1: please continue releasing the best possible 2.6 even if that slows down the final release of Groovy 3.0 and delays further work on better support for JDK9+.

Option 2: please release one more alpha of 2.6 over the next month or so which will become the best version to use to assist porting for users stuck on JDK7 and then focus on 3.0. The 2.6 branch will essentially be retired though we will consider PRs from the community for critical fixes.

Feedback welcome.

Cheers, Paul.



Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

James Kleeh
In reply to this post by paulk_asert
I strongly advocate for option 2. I think the biggest threat to the future of Groovy is JDK9 support.

> On Jun 13, 2018, at 3:05 AM, Paul King <[hidden email]> wrote:
>
>
> Hi everyone,
>
> There was some discussion at gr8conf about how to speed up delivery of Groovy 3.0. Some of that discussion was around the scope of what we want to include and have yet to complete in 3.0 but I won't discuss that right now.
>
> One of the other discussion points was Groovy around 2.6. As many of you know, we have released alpha versions of Groovy 2.6. That version is a backport of most but not all of Groovy 3.0 to JDK7 including the Parrot parser (though it isn't enabled by default). The purpose of this version has always been to assist people/projects wanting to use the Parrot parser but who might be stuck on JDK7. So in some sense it is an intermediate version to assist with porting towards Groovy 3.0. While that is still a noble goal in theory, in practice, many of our users are already on JDK8 and we have limited resources to work on many potential areas.
>
> With that in mind, we'd like to understand the preferences in our user base for the following two options:
>
> Option 1: please continue releasing the best possible 2.6 even if that slows down the final release of Groovy 3.0 and delays further work on better support for JDK9+.
>
> Option 2: please release one more alpha of 2.6 over the next month or so which will become the best version to use to assist porting for users stuck on JDK7 and then focus on 3.0. The 2.6 branch will essentially be retired though we will consider PRs from the community for critical fixes.
>
> Feedback welcome.
>
> Cheers, Paul.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

paulk_asert
In reply to this post by Keith Suderman

A non-alpha 2.6.0 is a possibility but not my favored approach.

On our roadmap for 3.0 we are still fleshing out numerous things:
* we have a version of native lambdas but perhaps not how our final design might look
* we have to decide whether default methods in interfaces should be implemented using traits (current implementation) or some more native approach
* ditto for method references (current implementation uses method closures)
* we haven't finished static methods in interfaces
* potential indy vs non-indy changes
* potential breaking package name changes
* potential compiler assistance to minimise breaking changes

With so many things not quite finalised, alpha seems appropriate to me. Also, we want a very clear story around what restrictions/compatibility exists for libraries compiled under say 2.5 and used with Groovy 3.0 and vice versa. I am not sure we can do that to the same degree for 2.6 in its current state. Alpha sets a better expectation that there might be restrictions. As an interim version to assist with porting, I think that's okay.


On Thu, Jun 14, 2018 at 4:53 AM Keith Suderman <[hidden email]> wrote:


On Jun 13, 2018, at 2:17 PM, Paul King <[hidden email]> wrote:



On Wed, Jun 13, 2018 at 5:11 PM, David Dawson <[hidden email]> wrote:
I would vote 2.

Actually, i would vote 3) abandon 2.6 immediately.

We identified a few major things that were broken in the previous alpha release of
2.6 but only due to trivial packaging issues, hence the plan to do one more release.

How about an option #4.  If you are planning to do one more release of 2.6.0 anyway just drop the 'alpha' from the name and announce that it is the first and last 2.6.x release expected.

- Keith


Also, Jesper identified a few things that can easily be aligned from 3.0 in
a very short period of time. I am happy to wait for his thumbs up before proceeding.

I am also keen on releasing another alpha of 3.0 at the same time as the 2.6 alpha.
I believe that will make our life easier when answering future support-oriented questions
about 2.6 on the mailing list going forward.

So, doing one more alpha release of 2.6 has minimal impact on 3.0 timing and leaves
us in as clean a state as can be hoped for when retiring a previously planned branch.

Cheers, Paul.


----------------------
Keith Suderman
Research Associate
Department of Computer Science
Vassar College, Poughkeepsie NY




Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

Mike Thomsen
(Views below are my own, but I think a lot of the other NiFi PMC members would agree)

I think the Groovy users in the Apache NiFi community would benefit far more from focusing on 3.0 and dropping 2.6. They're already forced to be on Java 8 because we require it as a baseline for the last several releases of NiFi. We also have a lot unit and integration tests that use 2.4.X, so a long release cycle focusing on polishing 3.0 would help us on the testing and get information out there to users on transitioning production pipelines that make use of Groovy 2.X in different places.

Thanks,

Mike

On Wed, Jun 13, 2018 at 5:39 PM Paul King <[hidden email]> wrote:

A non-alpha 2.6.0 is a possibility but not my favored approach.

On our roadmap for 3.0 we are still fleshing out numerous things:
* we have a version of native lambdas but perhaps not how our final design might look
* we have to decide whether default methods in interfaces should be implemented using traits (current implementation) or some more native approach
* ditto for method references (current implementation uses method closures)
* we haven't finished static methods in interfaces
* potential indy vs non-indy changes
* potential breaking package name changes
* potential compiler assistance to minimise breaking changes

With so many things not quite finalised, alpha seems appropriate to me. Also, we want a very clear story around what restrictions/compatibility exists for libraries compiled under say 2.5 and used with Groovy 3.0 and vice versa. I am not sure we can do that to the same degree for 2.6 in its current state. Alpha sets a better expectation that there might be restrictions. As an interim version to assist with porting, I think that's okay.


On Thu, Jun 14, 2018 at 4:53 AM Keith Suderman <[hidden email]> wrote:


On Jun 13, 2018, at 2:17 PM, Paul King <[hidden email]> wrote:



On Wed, Jun 13, 2018 at 5:11 PM, David Dawson <[hidden email]> wrote:
I would vote 2.

Actually, i would vote 3) abandon 2.6 immediately.

We identified a few major things that were broken in the previous alpha release of
2.6 but only due to trivial packaging issues, hence the plan to do one more release.

How about an option #4.  If you are planning to do one more release of 2.6.0 anyway just drop the 'alpha' from the name and announce that it is the first and last 2.6.x release expected.

- Keith


Also, Jesper identified a few things that can easily be aligned from 3.0 in
a very short period of time. I am happy to wait for his thumbs up before proceeding.

I am also keen on releasing another alpha of 3.0 at the same time as the 2.6 alpha.
I believe that will make our life easier when answering future support-oriented questions
about 2.6 on the mailing list going forward.

So, doing one more alpha release of 2.6 has minimal impact on 3.0 timing and leaves
us in as clean a state as can be hoped for when retiring a previously planned branch.

Cheers, Paul.


----------------------
Keith Suderman
Research Associate
Department of Computer Science
Vassar College, Poughkeepsie NY




Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

Russel Winder-3
In reply to this post by Keith Suderman
On Wed, 2018-06-13 at 14:53 -0400, Keith Suderman wrote:
> >
[…]
> How about an option #4.  If you are planning to do one more release of 2.6.0
> anyway just drop the 'alpha' from the name and announce that it is the first
> and last 2.6.x release expected.
>

I think this would be a bad idea. We haven't had any beta releases, nor RC
releases. To jump to a final release strikes me as failure of proper process.

Also leaving 2.6.0-alpha-3 as the last 2.6 release clearly indicates it is a
retired version series. It also leaves it open much better for someone to pick
it up should they so wish.

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] Groovy 2.6 potential retirement to focus on Groovy 3.0

Cédric Champeau
I vote for option 3

Le jeu. 14 juin 2018 à 18:46, Russel Winder <[hidden email]> a écrit :
On Wed, 2018-06-13 at 14:53 -0400, Keith Suderman wrote:
> >
[…]
> How about an option #4.  If you are planning to do one more release of 2.6.0
> anyway just drop the 'alpha' from the name and announce that it is the first
> and last 2.6.x release expected.
>

I think this would be a bad idea. We haven't had any beta releases, nor RC
releases. To jump to a final release strikes me as failure of proper process.

Also leaving 2.6.0-alpha-3 as the last 2.6 release clearly indicates it is a
retired version series. It also leaves it open much better for someone to pick
it up should they so wish.

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk
1234