groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Laforge <glafo...@gmail.com>
Subject Re: [VOTE] Support Java-like array
Date Mon, 07 May 2018 20:03:49 GMT
I haven't voted as I'm not a big fan of adding this syntax construct.

My feeling is that we shouldn't necessarily try to become a pure
Java-superset, and it shouldn't be a goal to try more and more to close
that gap.
There are some confusing cases where (single element) array initializers
can be confounded with closures.

Also, I tend to prefer square brackets over curlies, but that's certainly a
question of taste.

The other thing that slightly annoys me is that we're adding additional
syntax for the same thing: array initializers, but look at how we added
lambda notation.
How will we explain users why we have two syntaxes for the same thing? Or
when/why they should use one over the other?

I guess with 15 years involved in various ways with Groovy, I'm also
becoming more conservative with changes, and I fear that we might be making
Groovy more / too complicated.

So I will vote, but only with +0.

Guillaume



On Mon, May 7, 2018 at 9:21 PM, Paul King <paulk@asert.com.au> wrote:

> I would like to see some more PMC votes for this proposal.
>
> On the one hand we don't like changes that aren't vetted enough, yet here
> is a proposed change that:
> * is fairly comprehensive (just lacking some doco which I have already
> identified)
> * closes some gaps in one of Groovy's design goals of making it easy to
> bring Java code to Groovy
> * has sought feedback from dev and user communities (and seems to have
> strong support from our user base)
>
> And yet, I am the only one from the PMC who has voted. I don't really care
> if the votes
> are critical and provide a good reason but at least then it shows respect
> for the time and
> energy put in to preparing a considered proposal and requesting formal
> feedback.
> I know everyone is super busy but we just aren't a big enough PMC right
> now for
> everyone to sit on the fence for proposals like this.
>
> While I don't think we need to mirror everything in Java and I don't
> personally think I will
> use this feature often in my own code, I can certainly see how new users
> to Groovy would
> find it useful and so it seems like an overall win from my point of view.
> Zero-learning curve
> from Java is one of the attractions of Groovy when marketing the language.
> This seems to
> offer a bit of an improvement in that space with low investment and low
> risk.
>
> If others can see serious flaws though, it would be good to provide the
> feedback so Daniel
> can make some progress. Or if someone can see better bang-for-buck changes
> that we
> should be making from a marketing of the language perspective, it would be
> good to pass
> those insights on so Daniel and other contributors can make best use of
> their time.
>
>
> Cheers, Paul.
>
>
> On Fri, May 4, 2018 at 11:31 PM, Paul King <paulk@asert.com.au> wrote:
>
>> I would keep discussions about warnings in a separate thread so as not to
>> derail the main topic here. If they were already widely used, it would be
>> fine to indicate that we should just add another one. But that isn't the
>> case and we'd need many discussions to do the topic justice.
>>
>> Cheers, Paul.
>>
>> On Fri, May 4, 2018 at 11:04 PM, mg <mgbiz@arscreat.com> wrote:
>>
>>> +1 with all that Paul says. Plus, we should support emitting a "Java
>>> compatibility / non-idiomatic-Groovy" warning here, to avoid people using
>>> this "for Java compatibility / quick/easy copy & paste porting of Java
>>> code"-only syntax when writing actual Groovy code (surprisingly not all
>>> developers read the complete documentation of a language, before they start
>>> using it, especially for something as base line as literal array syntax :-)
>>> ).
>>>
>>> With regards to Jochen's critique of warnings in general: I absolutely
>>> agree that too many / too picky warnings are bad. But obviously we cannot
>>> use an error here instead, so if we want to keep this syntax in the corner
>>> it belongs, warning about its use looks like the only option that would
>>> consistently work in practice to me...
>>> (same as potentially for Java lambda syntax, depending on whether one
>>> will be able to use 100% equivalent & concise Groovy closure syntax here
>>> instead).
>>>
>>> Cheers,
>>> mg
>>>
>>>
>>> -------- Urspr√ľngliche Nachricht --------
>>> Von: "Daniel.Sun" <sunlan@apache.org>
>>> Datum: 04.05.18 03:38 (GMT+01:00)
>>> An: dev@groovy.incubator.apache.org
>>> Betreff: [VOTE] Support Java-like array
>>>
>>> Dear development community,
>>>
>>>      In order to improve Groovy's compatibility with Java(Copy & Paste)
>>> and
>>> make Groovy more friendly to Java developers[1], I propose to support
>>> Java-like array[2][3] and start the VOTE thread for supporting Java-like
>>> array.
>>>
>>>      Please vote on supporting Java-like array since Apache Groovy 3.0.0.
>>>
>>>      Here are the poll results from twitter and user mailing list for
>>> your
>>> reference:
>>>
>>> Sum up the poll results
>>> 24 votes in total(including my +1)
>>> 15 +1 (62.5%)
>>> 9     0 (37.5%)
>>> 0    -1 (  0.0%)
>>>
>>> Twitter[4]
>>> 19 votes in total(not including my +1)
>>> 58% +1,
>>> 42%   0,
>>> 0%   -1
>>>
>>> User mailing list(
>>> http://groovy.329449.n5.nabble.com/Poll-About-supporting-Jav
>>> a-like-array-tt5749923.html
>>> )
>>> 4 votes in total(not including my +1)
>>> 3  +1,
>>> 1    0,
>>> 0   -1
>>>
>>> The vote is open for the next 72 hours and passes if a majority of at
>>> least
>>> three +1 PMC votes are cast.
>>>
>>> [ ] +1 Support Java-like array
>>> [ ]  0 I don't have a strong opinion about this, but I assume it's ok
>>> [ ] -1 Do not support Java-like array because...
>>>
>>> Here is my vote:
>>>
>>> +1
>>>
>>> Cheers,
>>> Daniel.Sun
>>> [1] http://groovy-lang.org/differences.html
>>> [2] https://github.com/apache/groovy/pull/691
>>> [3] https://issues.apache.org/jira/browse/GROOVY-8561
>>> [4] https://twitter.com/daniel_sun/status/990544485196091395
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html
>>>
>>
>>
>


-- 
Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform

Blog: http://glaforge.appspot.com/
Twitter: @glaforge <http://twitter.com/glaforge>

Mime
View raw message