JEPs proposed to target JDK 9

Andrew Hughes gnu.andrew at redhat.com
Fri Oct 31 15:50:50 UTC 2014


----- Original Message -----
> On 10/24/2014 11:01 AM, Brian Goetz wrote:
> >>> Feedback is more than welcome, as are reasoned objections.  If no such
> >>> objections are raised in one week's time (i.e., by 2014/10/30 23:00
> >>> UTC),
> >>> or if they're raised and then satisfactorily answered, then per the JEP
> >>> 2.0 process proposal [1] I'll target these JEPs to JDK 9.
> >>
> >> I still object to removing _ (one of only two legal single-symbol
> >> identifiers in Java) as an identifier.  I believe that if a special
> >> identifier is desired, a new, previously unused character should be used
> >> instead, such as #.  This has the advantage of not breaking existing
> >> frameworks (including two of my own), as well as being visually distinct.
> >
> > I realize that you don't like this choice; you were even in the room
> > when the decision was made (you were on the JSR-335 EG), and you raised
> > this concern at the time.  And it was considered, and discussed.  Of
> > course, not everyone will agree with the decision; that's what happens
> > when you have 9 million opinions, especially on something as
> > opinion-prone as syntax.
> 
> To clarify for outsiders, on this particular issue there were only two
> opinions that I am aware of: mine and Brian's.  I recall that most of
> the input to this seemed indifferent and Brian simply made a ruling,
> which was his right as specification lead, but I don't recall that there
> was really a lot of due reasonable consideration of alternatives.

As one of these outsiders, it's not clear to me where the "9 million opinions"
concept comes from. I can, however, foresee nine million objections when
users find their code (or worse, someone else's) is broken for the sake of a
feature they don't yet use. Not only that, but it also results in
concomitant changes in external tooling to support the new syntax.

Theoretically, you could have the whole of Unicode to choose from for an
alternative character, so it seems strange to insist on _.

> 
> >> I do not believe that referencing existing non-Java languages is a valid
> >> reason for doing this.
> >
> > This is a valid opinion, and certainly "but language X does it this way"
> > is not a strong enough reason to do anything.  However, the use of _ as
> > an "I don't care" token is nearly universal in languages supporting
> > pattern-matching, and we concluded that its eventual possible use for
> > such features outweighed the very small number of "but my codebase
> > already uses it!" concerns.
> 
> Again, I think this was largely you speaking with the group's voice.  In
> fact the only non-neutral feedback I've ever gotten from anyone external
> (granted with a small informal sample group) has been that using a new,
> previously unused symbol (specifically #) is better than breaking
> compatibility.
> 

On what do you base this notion of a very small number of concerns? Java
has been around for nearly twenty years. That's a lot of potential for code
using _ as an identifier.

> > (Observation: this is one of the very few times we've made the conscious
> > choice to make an incompatible language change for the sake of making
> > things better in the long run.  When we do this, people complain; when
> > we don't do this, people complain.)
> 
> It should be emphasized here that making an incompatible language change
> is not in any way *necessary* to make this particular improvement; in
> this case, language compatibility would be broken purely for a
> subjective style choice.  I don't oppose the improvement itself (not on
> these grounds anyway), but it should never be implied that removing _
> from the identifier space is necessary to make this change.
> 
> > So, I understand your concern, and I'm not saying your concern is
> > totally invalid (every issue has many sides), but you are not now
> > bringing any *new* information to the discussion -- this concern was
> > raised and understood and considered at the time the decision was made,
> > and nothing has really changed since then, so I see no reason to to pull
> > the emergency brake cord on this train-already-in-motion.
> 
> Again, as far as I know this issue has only two sides.
> 
> --
> - DML
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the jdk9-dev mailing list