What the Java community is saying about the Java 9 features

The announcement of Java 9 features sent major waves into the Java community  online forums have been buzzing with debates over what Oracle needs to do next.

It’s been a over a week since Oracle’s first round
of Java 9 feature
announcements set developer forums ablaze with fierce
debates over what Java 9 needs. Thousands of comments later, only
one thing is certain: nobody can agree.

Java 9? More like Java 8.1

“Not enough for a major release imho”, says one reader
in reaction to the new APIs and modular source code announced over
on DevOps
Zone. The overall response appears to be one of disappointment
at the lack of specific features that developers were hoping to see
in Java 8. Coming to Oracle’s defence, DevOps Zone’s Benjamin Ball
points out that it is surprising that we’re hearing “anything
substantive about Java 9 this soon after Java 8”.

At the same time, Java 8’s focus on language features
means that such features are understandably absent from this first
round of Java 9 announcements – where the JVM is playing a more
significant role.

Over on JAXenter.de, the German Java community declared
modular source code to be their favourite of the new features –
while few developers seemed interested in the new segmented code
cache and Smart Java Compilation.

Getters and setters

One Hacker News reader has sparked a lengthy
debate with a comment that the problems of getters and
setters has not yet been addressed: “Nothing pollutes java source
more than getters and setters. […] Wish they’d move in the
direction Groovy has in this regard.”

The community appears split into those who agree and
hate getters, and those that say “just don’t use them,” arguing
that the solution is better design. “Nothing pollutes java source
more than code which REQUIRES setter methods for functionality,”
says bpodgursky. “If
you have classes which require constant mutable access to internal
state, your design is probably flawed.”

Jigsaw remains a bit of a puzzle

The real implications of the most interesting
confirmed Java 9 feature are yet to be established. “The jigsaw
stuff seems interesting until you realize that 99.99% of “java on
small devices” now means android, and android will almost certainly
never see a modernized java, now that google and oracle officially
hate each other,” says Reddit user
clay_davis_sheeit, referring to the ongoing
legal battle over Google’s use of Oracle’s programming
language.

However, other users are quick to counter that “small
devices” also includes the IoT devices. Oracle is keen to
establish Java as a key language for the Internet of Things –
even if “none of it runs on Java (Except for utter crap like
‘smart’ TVs and BluRay players)”, as another user adds.

No value types :(

“Those who had hoped for value types are probably a
little sad now.” llogiq (Reddit)

A large portion of developers seem disappointed at the
absence of user-defined value types among Oracle’s latest JEPs. But
just because it’s not part of these early feature announcements
doesn’t mean value types are being postponed to Java 10.

Following the two-year delay of Java 8 (and the
setbacks on Project Lambda before then), Oracle has clearly learned
not to rush into big promises. After all, you never know what kind
of
applet security problems might arise in the meantime.
Nonetheless, Oracle has previously announced its ambitions to
release Java 2016 – good luck! “I’m willing to wait as long as they
get it right,” says another Reddit user.

Not all developers are so patient. Tail call
elimination, collection
literals and initializing classes like in Scala – the list
of features that Java 9 ‘needs’ goes on and on.

No matter how much Oracle gives its community, it
looks like Java developers will always never stop asking.

Coman was Editor of JAXenter.com at S&S Media Group. He has a master's degree in cultural studies and has written and edited content for numerous news, tech and culture websites and magazines, as well as several ad agencies.