JEPs proposed to target JDK 9

Brian Goetz brian.goetz at oracle.com
Fri Oct 24 16:01:44 UTC 2014


>> 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.

> 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.

(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.)

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.



More information about the jdk9-dev mailing list