
Java 9 Enters First Bug Fixing Round - youknownothing
https://www.infoq.com/news/2017/01/java9-rampdown-phase-start#.WJGag_XmYZA.hackernews
======
struppi
Good! I am really looking forward to jshell, yet I appreciate that the Java
team at Oracle is taking it's time to get this right. With their very strict
backwards compatibility requirements (still compatible with Java 1.0 AFAIK),
everything they release to the public, they must maintain forever.

Side note: Can somebody please write a concise tutorial about how to use the
new features (like this awesome Java 8 tutorial:
[https://github.com/winterbe/java8-tutorial](https://github.com/winterbe/java8-tutorial)
)? If you do, contact me. I would love to help out, but I don't have much time
at the moment...

~~~
needusername
> I appreciate that the Java team at Oracle is taking it's time to get this
> right

Except they don't. Everything but Jigsaw has been ready for a year and Jigsaw
is still not ready.

[http://www.sonatype.org/nexus/2017/01/23/advice-for-
jigsaw-r...](http://www.sonatype.org/nexus/2017/01/23/advice-for-jigsaw-
regarding-auto-modules/)

[http://wildfly.org/news/2016/12/12/Jigsaws-Missing-
Pieces/](http://wildfly.org/news/2016/12/12/Jigsaws-Missing-Pieces/)

> With their very strict backwards compatibility requirements (still
> compatible with Java 1.0 AFAIK)

When I checked a few weeks ago Jigsaw broke a lot of reflection code. It's
debatable how much of this was a published API but a lot of things broke. I
don't know how many of these changes were rolled back.

------
Traubenfuchs
Java 8 brought us lambda methods and streams that allow Java as a language to
somewhat compete on the same stage as C#. I use them on a daily basis and they
radically changed the way I do some things. It was a revolution for the Java
world.

What killer feature does Java 9 bring us? Jigsaw looks to me like a mere
organizational feature, something I don't want to spend my time with unless I
have to to get things working. Besides that, private interface methods are a
nice idea, but I have never missed them before. Everything else leaves me
unimpressed.

~~~
coldtea
> _Jigsaw looks to me like a mere organizational feature, something I don 't
> want to spend my time with unless I have to to get things working._

It's not for your typical use cases, it's for people running Java in lesser
devices.

That said, a REPL and HTTP 2.0 support are big in themselves. And the revised
process management API too.

Not every release needs to be a "revolution".

~~~
Traubenfuchs
Official Java REPL is not big. I know I will never use it and I don't know
anyone who will. Those who get excited by live scripting/REPL probably won't
be using Java. In any case, there is even a Java REPL solution available
already if you really miss it. (java-repl)

"Native" HTTP 2.0 support is nice and something that's expected to arrive
eventually but also not big. A lot of people currently use alternative HTTP
libraries anyways. As a Spring developer I usually use Resttemplate to do
HTTP/REST calls and you can feed that with a RequestFactory that produces
HTTP2 enabled requests, like OkHttp and Jetty. I don't know about Apache
HttpClient.

As for the process management API: That's actually quite nice, but the last
time I touched processes was when I was writing horrible winforms applications
years ago.

Yes, certainly, not every release needs to be a revolution, but if you ask
"What does it add that I will enjoy to use on a daily basis?" and the answer
is "Nothing really, but take a look at ..." it's a bit disappointing. Some
Java 10 features look like they could be big. If Java 9 is the Windows Vista
of Java, Java 10 hopefully will be the Windows 7. (;

~~~
needusername
> A lot of people currently use alternative HTTP libraries anyways.

True, but because ALPN is only available in Java 9 the only ways to offer
HTTP/2 is either through horrible hacks or using OpenSSL.

~~~
wbl
I believe Bouncycastle supports it, but am not sure.

Java crypto has lagged for years for the residual effects of legal
restrictions.

~~~
needusername
> I believe Bouncycastle supports it, but am not sure.

Yeah I know Jetty, Tomcat and Undertow all support it. But they are either
terrible hacks or bypass Java crypto entirely.

See

[https://www.youtube.com/watch?v=1I2Uo_HfmGU](https://www.youtube.com/watch?v=1I2Uo_HfmGU)

> Java crypto has lagged for years for the residual effects of legal
> restrictions.

Nope, long keys were (and still are) are disabled per default. It is and
always was just a config change. I agree with you that's is lagging a bit
(e.g. TLS 1.3 will likely have to wait for Java 10 or later) but legal
restrictions are not the cause.

------
sgt
Java's quite exciting these days. I wish I could say the same about the state
of Java EE though.

~~~
on_and_off
I wish it would mean anything for android ... at this point I am all in the
kotlin boat though :

brings better solutions than the new versions of javas to its language design
weaknesses (breaking code compatibility is a great asset for kotlin) is
useable right now on android, not in 5 years.

~~~
smrtinsert
Something exciting for Android? Just look for the latest component-replacing-
fragment of the day, I'm sure hundreds came out yesterday.

~~~
on_and_off
That's not exactly exciting ..

A part of the android community has been complaining about fragments for years
that's not really news.

------
exabrial
Jigsaw is an incredible language feature! Can't wait to use it.

------
virtualwhys
In other words, Java 10, godspeed.

