JEP 302 _ Java is a language with one big goal - easy to read

Miko Register m1k0.register at gmail.com
Wed Apr 19 04:54:08 UTC 2017


Java is a language with one big goal - easy to read.
Now, I see It is forcing to break this main goal with introducing
underscore [ _ ] (also called underline, underbar, low line, or low dash)

(sorry for my English)

I know, that exists some quirk languages with quirk statements like scala,
groovy, regexp, perl. Some javascript libs very like "cool" characters like
jQuery, even some specially created for character underscore -
underscore.js! Regexp has some special meaning and I accepted this - this
is not Java - like underscore under SQL.

For compatibility reason, Java has some strange constructions like
static <T extends Object & Comparable<? super T>>
T max(Collection<? extends T> coll)
compatibility reason is the strong reason.

If I see technology with underscore usage I see undone work or internal
thighs.

Underscore is very hard to see - look at comparison jQuery.js vs
undescore.js

Old people cannot see this character. Maybe many of us can't see this
character now because of our age.

If my IDE underscores the whole line of bad code, underscoring align with
this special character for jep 302 completely hiding the meaning of this
character.

This underscore opening the can of warms (Pandora's box)...
&*^v^==//==%$#@))((! and   __DATE__, ‗ DOUBLE LOW LINE for two
parameters,...

I remember that Elvis Operator was bad and because of that was introduced
Optional<>. Underscore has much more bad things.

We have in Java language some resolving for special meaning for special
cases, like Optional, Void, etc.
Maybe we should introduce something like "Any" class or something which is
can be easy to read.

Brian Goetz, Mark Reinhold - please help with this situation of breaking
the main goal of Java language - readability.


More information about the platform-jep-discuss mailing list