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.
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.
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.
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.)
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.
> 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.
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.
It's definitely not a research project. There are many large companies who contribute to OpenJDK, for example Oracle, SAP, Red Hat, SAP, Google and Amazon
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.
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?
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.
[+] [-] heelix|7 years ago|reply
[+] [-] exabrial|7 years ago|reply
[+] [-] rnikander|7 years ago|reply
[+] [-] aardvark179|7 years ago|reply
[+] [-] shadowmint|7 years ago|reply
The first 30 minutes is about the new release cycle, which is... hm.. quite dry, boring and covered extensively elsewhere.
[+] [-] mothsonasloth|7 years ago|reply
[+] [-] sheeshkebab|7 years ago|reply
[+] [-] watt|7 years ago|reply
Add GraalVM native image capability to that, and Java will be back to leading the pack again.
[+] [-] discordance|7 years ago|reply
[+] [-] maaaats|7 years ago|reply
[+] [-] an_d_rew|7 years ago|reply
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
OpenJDK has been around for years.
There's also Kotlin.
[+] [-] antpls|7 years ago|reply
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
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
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.
[+] [-] haglin|7 years ago|reply
This doesn't happen often.
It's definitely not a research project. There are many large companies who contribute to OpenJDK, for example Oracle, SAP, Red Hat, SAP, Google and Amazon
https://blogs.oracle.com/java-platform-group/building-jdk-11...
[+] [-] vijaybritto|7 years ago|reply
[+] [-] koiz|7 years ago|reply
[+] [-] kjeetgill|7 years ago|reply
[+] [-] haglin|7 years ago|reply
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
[+] [-] tannhaeuser|7 years ago|reply
[+] [-] sheeshkebab|7 years ago|reply
[+] [-] simion314|7 years ago|reply
[+] [-] Go0the0gophers|7 years ago|reply
[deleted]
[+] [-] twic|7 years ago|reply
[+] [-] halfastack|7 years ago|reply
FTFY.
[+] [-] unknown|7 years ago|reply
[deleted]