top | item 18315890

The Future of Java SE [video]

76 points| javinpaul | 7 years ago |youtube.com

73 comments

order
[+] heelix|7 years ago|reply
The end of this year is going to be such a dumpster fire for us. I think I've got about a hundred developers with a mix of Linux, Mac, and Windows. The corporate overlords are mostly sticking to JDK 1.8, which is fine -- RHEL has a LTS for that on Linux. The developer desktops are all over the place right now, however. The jump from 8 to 9+, for those of saddled with legacy crap code, has been somewhat painful. Got to wonder how many years I'll be seeing a 8u191 (or whatever the last release is) on the windows/osx boxes.
[+] exabrial|7 years ago|reply
Curious, Is the adoptjdk or openjdk not an option for some reason?
[+] rnikander|7 years ago|reply
I wish they would add tail calls to the VM. It would really help functional programming. It's doable but apparently not considered a high priority.
[+] aardvark179|7 years ago|reply
We plan to they are on the list of things that will be looked at as part of project loom. It was originallly thought they would be closely related to continuations as they are both forms of non local return, but this hasn’t been the case so far.
[+] shadowmint|7 years ago|reply
protip: jump to minute 31 for the interesting stuff.

The first 30 minutes is about the new release cycle, which is... hm.. quite dry, boring and covered extensively elsewhere.

[+] sheeshkebab|7 years ago|reply
Interesting road map - some features seem like would be moving java closer to go (walhalla, loom, Panama)
[+] watt|7 years ago|reply
Yes indeed. Hopefully with the jdk modularization (Project Jigsaw) done and out and GA, efforts will finally pick up steam on those modernization projects.

Add GraalVM native image capability to that, and Java will be back to leading the pack again.

[+] discordance|7 years ago|reply
The roughly decade long copyright battle around Java API use has killed any interest I had in Java
[+] maaaats|7 years ago|reply
Why? (Or why should we care about your personal interest in java without any substantial information?)
[+] an_d_rew|7 years ago|reply
For me, it is because if I ever wanted to embrace and extend Java, even for a personal project, I would feel that I was putting myself into a state of legal jeopardy.

You can argue all you want how I would be or I wouldn’t be, or that I would be fine as long as I didn’t call it Java, but as long as oracle remains super-litigatious...

I would rather put my efforts elsewhere.

(Would love to do or learn more about Graal, too, but... yuck. What am I going to get sued for if I re-implement any of it? No thanks.)

[+] hota_mazi|7 years ago|reply
That's silly.

OpenJDK has been around for years.

There's also Kotlin.

[+] antpls|7 years ago|reply
I tried to compile the JVM 9 on a Debian this weekend, just to give it a try. The openjdk's mercurial repository returned 500 HTTP-errors 9 times out of 10. After relaunching the clone command 50 times, I managed to fetch the sources. Total size of the source code with sub-projects dependencies : 1.5 GB.

After that you have to further download a pre-compiled JVM to bootstrap the compilation, and install further debian packages such as X11 stuff (???). I looked at the Debian package's Makefile from the package maintainers, and then I gave up.

The complexity, and especially the dependencies, of the JVM are outstanding. I guess some work groups are paid to work on Java, but it seems some sub-projects are staling, while some modern expected features are still not in the JVM. For example, it's difficult to see where GraalVM is in the grand scheme. Is it replacing several previous project? Is it competing with ongoing sub-projects? Will it be compatible with most projects?

The problem I see with Java is : if people are not paid to work or develop it, I'm not sure people would continue to support the language and the stack, given the time and specific skills you have to invest in it.

At that point, Java looks more like a research project than a production-ready tool.

[+] chrisseaton|7 years ago|reply
> The openjdk's mercurial repository returned 500 HTTP-errors 9 times out of 10.

I don't know why that would happen - that's a shame. They're moving to GitHub soon though.

> Total size of the source code with sub-projects dependencies : 1.5 GB.

Is that a problem? How large are most other large, long-lived projects' repositories? Linux is also several GB, for comparison.

> After that you have to further download a pre-compiled JVM to bootstrap the compilation

Yes it's bootstrapped. Just like most other programming languages. Is this a problem?

> and install further debian packages such as X11 stuff (???).

Java includes windowing libraries. Is this a big problem?

> I looked at the Debian package's Makefile from the package maintainers

What were you looking for in there? You can just build Java without trying to build Debian packages.

> The complexity, and especially the dependencies, of the JVM are outstanding.

I really don't think this is the case compared to any other large systems project. What was the real problem you found? It needs a binary to bootstrap it? Yeah like almost all languages. It's a bit large? It's been around for decades. It provides windowing libraries? Wow what a crime.

> I guess some work groups are paid to work on Java

Hundreds. Hundreds of people are paid to work on Java full time, at many companies. I would guess probably more people work on Java implementation than any other programming language.

> if people are not paid to work or develop it...

Let me stop you there, because they are.

> At that point, Java looks more like a research project than a production-ready tool.

It demonstrably is production-ready. Massive companies use Java in production in enormous, complex, demanding deployments, and have been for decades.

[+] _old_dude_|7 years ago|reply
I think that hosting the jdk sources using a bunch of Python scripts on top of mercurial was a big mistake, or perhaps it was not a mistake when Java was opensourced more than 10 years ago, but it's a mistake now to not use gitlab/github. As you said the mercurial repository as stability issues, and when it works, it's super slow.

Java need a previous version of java to bootstrap because javac is written in Java. And you don't need x11 if you build the headless version.

For Graal, the goal is to replace c1 and c2 (the two JITs used by Hotspot and written in C) by Graal in order to have only one JIT written in Java. But Graal is competing with c2 which has tuned over two decades, so currently you can choose if you want to use c1/c2 or c1/Graal when running Java. We know that Twitter is running Graal in production, i've no more info on that.

[+] koiz|7 years ago|reply
I wish the future of java was less Oracle.
[+] kjeetgill|7 years ago|reply
It is and it has been? They've open sourced a ton just this last year removing most differences between OracleJDK and OpenJDK. I think it's just a few small compatibility variences left.
[+] haglin|7 years ago|reply
Can you elaborate? I don't understand what you mean.

Oracle contributes patches to OpenJDK, for instance lambda support.

Do you want less of that? Are the commits made by Oracle employees especially bad?

It's not like you need to use the Oracle JDK. There are many different distros, just like Linux.

[+] tnr23|7 years ago|reply
already porting everything away from Java
[+] tannhaeuser|7 years ago|reply
After almost 20 years, I've too moved away from Java for personal projects years ago. But I'm doing this just because Java has become boring, and I've always preferred natively compiled languages anyway. I can't see anything wrong with how Oracle has handled this. OpenJDK is the reference implementation, and is licensed under the GPL with classpath exception. What else is Oracle supposed to do?
[+] sheeshkebab|7 years ago|reply
To what if don’t mind asking?
[+] simion314|7 years ago|reply
any GOOD reason why porting existing stuff that works ?
[+] Go0the0gophers|7 years ago|reply

[deleted]

[+] twic|7 years ago|reply
I did have a good giggle at the fact this was posted by someone whose username suggests they also stan for a general-purpose garbage-collected object-oriented language with limited expressivity devised and pushed by a giant tech company. Just a different, more brutally practical, one.
[+] halfastack|7 years ago|reply
> ... is now fully open sourced. Thx Oracle

FTFY.