Before Groovy 2.6 and 3.0 are released, will there be a review of the syntax
additions for inclusion in the final release? I get "!in" and "!instanceof".
However, I'm am getting the feeling of "Kitchen Sink" or "just because we can"
on recent additions to the parser. I'm not seeing any of the new syntax adding
something I can't get already with reasonably succinct code:
`foo?['bar']` is just `foo?.getAt('bar')`
`a === b` is just `a.is(b)`
`a ?= b` is just `if (!a) a = b`
`a??.b.c.` is just `a?.b?.c`
'def a = if (x) b else c` is just `def a = x ? b : c`
`def a = switch (x) { case 'b': b; break; case 'c': c; break; }` (or whatever
has been proposed) is just `def a = { switch(x) { ... } )()`
These last two really bother me because statements and expressions have a
distinct meaning in the language and now the meaning is blurred quite
completely. Why is all of this new syntax necessary? Isn't it enough to have
support for Java array init and lambdas now?
All these new syntax options are making it difficult to entice fellow Java
programmers around the office into using Groovy because it is Java plus a *few*
very convenient additons. I almost want to be able to turn off some of these
additions so the compiler errors on them.
Eric Milles
Lead Software Engineer
Thomson Reuters
Email: [email protected]
Phone: 651-848-7040