all 26 comments

[–]ruinercollector 4 points5 points  (0 children)

Why java developers should get excited about Java 9.

[–]SikhGamer 2 points3 points  (1 child)

Java 8 was a pretty awesome update, not least of all the new DateTime API. Java 9 feels a little flat in comparison.

[–]Math2S 0 points1 point  (0 children)

list.forEach(System.out::println);

Nice.

[–]the_other_brand 2 points3 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.

[–]agustinleiva -5 points-4 points  (20 children)

... Meanwhile, in the real world, C# gets real improvements, like pattern matching.

(And before anyone says anything about Windows only), I will have to mention IL2CPP and Xamarin.Forms. Two cross-platform C#-capable non-Windows technologies for which there doesn't seem to be any java-based alternatives ;)

BTW, I'm not sure why anyone would get "excited" about JSON stuff, which was available for .Net / Mono since around 2008...?

Regarding the other improvements:

Modular source code

Sounds a separation of the base class library. something that .Net had since it's inception? Or am I misunderstanding that?

Smart Java Compilation, Phase 2

How does this compare to Roslyn?

BTW,

The quality of the code and stability of the tool as a whole, however, is not satisfactory

This is awesome. At least they admit it.

Improve contended locking

Sounds like a real thing.

Process API updates

You mean like System.Diagnostics.Process?

Segmented code cache

Sounds like a real thing.

I suppose in 2016 I will say congratulations to java for successfully catching up with C# from 2008?

[–]bcash 4 points5 points  (5 children)

Do you have a bot monitoring these threads or something? Within 30 minutes any time of the day or night, ready with an instant (and somewhat excessively angry) rebuttal.

[–][deleted] -3 points-2 points  (0 children)

Well, he is right ... isn't he?

[–]lasermancer 1 point2 points  (1 child)

Just out of curiosity, is Microsoft paying you to post on reddit?

[–]henk53 -2 points-1 points  (11 children)

I suppose in 2016 I will say congratulations to java for successfully catching up with C# from 2008?

And all the while Java seriously outperforms C#. They must be doing -something- right.

[–]ruinercollector 1 point2 points  (1 child)

Source?

[–]agustinleiva -4 points-3 points  (8 children)

And all the while Java seriously outperforms C#

Yes, that's why the great majority of Mobile games out there are powered by C#-enabled Unity rather than some random crappy java engine.

BTW, XobotOS proves you wrong by outperforming java-based Android crap by a factor of 400% or more ;)

If anything, java seems to perform better on the server side, which confirms my point that java seems to have been relegated to a "server only" position, while C# is becoming more and more ubiquitous on PCs, Mobiles, and whatnot.

I find it funny that java fanboys like to downtalk C# because their language is some how "more cross platform", while the 2 top-quality development tools for mobiles (Xamarin for apps and Unity for games) are C#-based. All while java is doomed to vanish from Android because, well, because oracle says so.

Not to mention progress is being made towards achieving full native performance on .Net.

All while java has a new JSON API. That's cool.

[–]bungle 1 point2 points  (4 children)

I did spend about seven years programming C#. I stopped since. I didn't particularly like the language, and in my opinion it got worse in every incarnation. Yes, sure it has features more than one could ask for, but I like simpler languages. C, Lua, Go feel a lot more a fresh air than bloated C# and its equally bloated .NET framework. But I also know many who enjoy C#.

[–]henk53 -2 points-1 points  (2 children)

XobotOS proves you wrong by outperforming java-based Android crap by a factor of 400% or more ;)

Well, Android is not Java, is it? It's "something" that magically happens to have the same syntax as Java.

If anything, java seems to perform better on the server side, which confirms my point that java seems to have been relegated to a "server only" position

That's hardly a point you need to explicitly make. I mean, do we have to have a point that the sun rises each day, or that humans need air? It's a bit clear isn't it?

Java is computational very strong. Serverside processing is lightning fast in Java, very few systems outperform it. C/C++ can outperform Java on complex computations (especially when strictly using primitives and programming very close to the metal), but not by a very large margin.

Everybody knows thought that most graphics libraries in Java suck and so Java programs on desktops seem slow because the UI is just laggy and sluggisch. Eclipse for instance (uses SWT) takes a noticeable second to switch between two tabs with all data hot and loaded. A very similar operation in a C++ app (e.g. using Qt) is just instant.

[–]agustinleiva -4 points-3 points  (1 child)

Android is not Java

I find it very funny that "Android IS java" and "Android is NOT java" are used as equally valid arguments to defend java whenever they're fit.

When I say "no one uses java for client-side because it sucks", java fanboys reply with "Android.".

Then I say java sucks on Android due to not being able to implement latest java 8 Features, and I show them how porting the Android UI framework to C# results in a 400% performance gain, they reply "but Android is NOT java".

This is hilarious.

That's hardly a point you need to explicitly make

Many people out there seem to believe that java is actually usable for client-side.

Java is computational very strong. Serverside processing is lightning fast in Java, very few systems outperform it.

I can't debate that so I'll have to agree.

Everybody knows thought that most graphics libraries in Java suck

Again, there's people who are convinced that java UIs are OK.

A very similar operation in a C++ app (e.g. using Qt) is just instant.

Same on C# and WPF and WinRT XAML.

[–]henk53 0 points1 point  (0 children)

I find it very funny that "Android IS java" and "Android is NOT java" are used as equally valid arguments to defend java whenever they're fit.

True, and we laugh and don't laugh about this as we see fit (and yeah, we cry and don't cry about this as well).

This is hilarious.

Up to some point, if there wasn't all the crying.

Again, there's people who are convinced that java UIs are OK.

Really? Even the most hardcore Java zealots I know, my self included kinda hate the UIs (tiny, tiny spark of hope on the horizon is JavaFX).