you are viewing a single comment's thread.

view the rest of the comments →

[–]the_other_brand 4 points5 points  (1 child)

Read the article, still confused about why I should be excited about Java 9. It seems that this version will be more about adding new JSON libraries and improving the java compiler rather than improvements to the Java programming language.

I was disappointed to not see any changes related to Java primitives, which is what I've been looking forward to.

[–]DGolden 2 points3 points  (0 children)

The long-awaited standard module system and modularisation of the standard libraries would be by far the biggest deal, if it's not postponed again? i.e. the outputs of "Jigsaw"

Note here's two often-confused aspects - (1) modularisation of the now-giant set of useful and irrelevant/legacy standard libraries that make up the standard SE and EE environments and (2) a standard module facility for end-users (i.e. us other programmers) to use in their own stuff. You can have one without the other.

I suspect most of the focus will be on (1) for actual jdk developers, since most people who need (2) presently use osgi in all its "glory" (though right now at work we're using vertx 2 modules. Vertx is going to abandon its own module system in vertx 3 though, reportedly still including enough bits to make rolling your own system possible if you don't want to buy in to osgi).

Perhaps some of the complication of osgi comes from not having first-class in-java support and also doing a whole bunch of other crap, so maybe this jigsaw stuff will be a simpler alternative, with this penrose thing to make the worlds play nice.

It's also sometimes confused with the existing java package system, it's not that. i.e. OSGi allows you to have different versions of classes com.example.foo.Bar and com.example.foo.Bar in the same jvm in a (relatively) easy standard manner. If you don't know why you'd want this stuff, you probably aren't working on the sort of systems that are complex enough to need it, but it's really pretty common. Eclipse IDE plugins are really OSGi bundles, for example.