14 ms·
Java 11 released
- qwerty456127 8y agoWell, removing SOAP is a little too radical. Indeed nobody likes SOAP and it is mostly used by EE guys but there still probably are many non-enterprise public SOAP APIs. This makes me wonder if they are going to remove XML support in the next version :-) Also, JavaFX is amazing, I actually wish it would get more popular, it feels like the best GUI framework I've seen so far.
- snuxoll 8y agoJavaFX getting removed from the JRE/JDK is probably the best thing for it, I think Gluon and other contributors will do a better job acting as stewards of it than Oracle.
- pjmlp 8y agoI hope they eventually improve the 3D classes, specially shader support. That and Android support as well.
- needusername 8y agoYou can still use SOAP, just add a JAR or two, as it should be. If you were using Java EE you were always using the Java EE classes and no the Java SE classes anyway. I think it was mostly removed because Java EE required redefining some Java SE classes which is a bit of a pain with the new module system so they simply kicked it out of Java SE. I don't think that they'll remove XML support as other parts like XML properties and Swing XML serialization need it. Although in this new world they could simply remove that as well.
- 0x0 8y agoNoteworthy, the oracle JDK license has apparently changed so you can't legally use their distribution for much of anything except for the development of inhouse java applications? So I guess you can't even use it just for its JRE to run, say, eclipse for PHP development, or to host a servlet web server? Anyways looks like the OpenJDK is now on feature parity and is GPL licensed. https://blog.joda.org/2018/08/java-is-still-available-at-zero-cost.html https://blog.joda.org/2018/08/java-is-still-available-at-zer...
- rhacker 8y agoGood to know. I am amazed by the history of openjdk and how it's slowly become the mainline of what people use. Does OpenJDK come with all that mission control (I think that might have a new name?) stuff or is that the primary reason people buy Java from Oracle at this point?
- nirelCALBO 8y agowho cares about that bitch
- random3 8y agoWith Java 11, there are supposedly no differences between Oracle and OpenJDK so time to go OpenJDK
- StreamBright 8y agoThere are a lot of enterprise users on Java 7 at the moment and they are not going to move to Java 11. I just moved a company to Java 8 and it was a big thing. Not sure which one is the next "LTS" release, that will be the next target for our migrations. The biggest "feature" is G1GC in "new" Java for a lot of users based on my experience.
- hyperpape 8y agoJava 11 is an LTS.
- manishsharan 8y agoWhat is Oracle's rationale for the new licensing terms ? It seems counterproductive to me as it will push developers to use OpenJDK ,which is pretty good on its own and "unlink" Oracle from Java in our minds. To be honest, I have climbed through hoops to install Oracle's JDK on my Ubuntu just out of habit. Now I wont do that because any application I develop on this JDK cant be put into production.
- geodel 8y agoBig companies which need support and security patches after 6 months can get it from Oracle. Others can update to new OpenJDK after 6 months.
- znep 8y agoAs far as I understand, Red Hat plans to take the lead on supporting a LTS version of OpenJDK 8 after Oracle steps down, with the intent to eventually do the same with 11. Various organizations such as AdoptOpenJDK will then be making releases off that.
- krn 8y agoIn other words: OpenJDK is like Fedora, and OracleJDK is like RHEL?
- pjmlp 8y agoYes that is pretty much it.
- akerro 8y ago> It seems counterproductive to me as it will push developers to use OpenJDK OracleJDK is 99% OpenJDK since 8 or 7. OracleJDK comes with some minor performance improvements, used to contain WebStart (removed in 11), Rhino and MissionControl (now GPL2 included in OpenJDK), some build tricks. Not sure what are differences between OracleJDK11 and OpenJDK11, but pretty sure it's really minor and 99.9% of developers won't need them. Oracle actually wants us to use OpenJDK. Remember that OpenJDK has been "forked" a few times already, by Azul, more recently Amazon and RedHat.
- geodel 8y agoJust installed OpenJDK 11 on my macOS machine. Remarkably unfussy install process. Missed the times when installing will involve accepting license, multiple clicks on installer GUI and helpful offers for browser toolbars used to be present :-)
- calcifer 8y agoGlad to see macOS catch up with Linux after all these years :)
- cs02rm0 8y agoFeeling like a bit of a noob, but how did you install it? I only found a targz download link, didn't understand the contents of it - it looks like the inside of a macOS application package. The installation instructions refer to it being for .dmg file, which it doesn't seem to be.
- oftenwrong 8y agoYou might be able to make an installer package from it with pkgutil. You can use the Contents/Home directory from the tarball as your JAVA_HOME; no need to do an installation.
- andersaa 8y agoIf you're using homebrew then 'brew cask install java' should work once this PR is merged: https://github.com/Homebrew/homebrew-cask/pull/52448 https://github.com/Homebrew/homebrew-cask/pull/52448
- simlevesque 8y agoSo they went from 8 to 11 ?
- mdasen 8y agoJava 9 and 10 were released. Java has moved to a time-based release schedule where they release what is ready for each release rather than having things block releases forever. Every third release is a long-term-support release. It's similar to Ubuntu where they release every 6 months, but then there's an LTS release that many people will wait for.
- Freak_NL 8y agoSo yeah, in essence Java went from 8 to 11 if you look at it as a sequence of major releases such as 5, 6, 7, 8, and now 11. I think a lot of developers skipped/will skip Java 9 and 10 (Java 9 is already unsupported and effectively history), except for testing their builds and preparing for the Java 8 to 11 migration.
- executesorder66 8y agoJava 9 was a major release. Project jigsaw (introducing modules) was a major change and blocker. Once they got that out of the way they changed the release cycle, which is why java 10 was released soon after java 9. So they actually just went from 9 to 11, going by your logic.
- wink 8y agoJava 9 had some weird issues that at least in the Clojure world many people skipped it.
- needusername 8y agoClojure relied on many quirky hacks like putting clojure on the boot classpath and accessing JDBC from there which broke in Java 9.
- gw 8y agoOne setback with this release is that the javapackager tool, which made native installers that bundled the Java runtime, was removed (presumably because it depended on JavaFX) and there is no replacement for it. One is being proposed at http://openjdk.java.net/jeps/343 http://openjdk.java.net/jeps/343 but I'm not sure when that is expected to be done.
- the8472 8y agoIf your application doesn't do bytecode generation or instrumentation at runtime then the graal native image compiler might do the job too or even better. https://www.graalvm.org/docs/examples/native-list-dir/ https://www.graalvm.org/docs/examples/native-list-dir/
- xienze 8y ago> If your application doesn't do bytecode generation or instrumentation at runtime I believe it also has trouble with reflection involving class names that aren't effectively constant at compile-time. So with that and the other limitations, there's a whole lot you can't do. Hopefully they can resolve that.
- calcifer 8y ago> reflection involving class names that aren't effectively constant at compile-time Can you give an example?
- xienze 8y agoSure, just about any project that has the concept of plugins. At runtime the code looks for plugin instances by searching for, e.g., META-INF/services/<interface_name> on the classpath. Inside that file (or files) you have implementation class names, which are collected and instantiated.
- the8472 8y agoI don't think they intend to solve that because the cases that it can't handle are basically application servers, plugin-based applications and the like. They violate the closed world assumption which graal's native image builder relies on. Those are better served by a full JVM, optionally boiled down with jlink or with AOT compilation for faster startup, and the JEP that was mentioned upthread.
- gdsdfe 8y agoWe're still using the 6 FML
- Freak_NL 8y agoOuch. Java 7 and 8 introduced a bunch of very pleasant syntactical fixes that greatly improved my pleasure in coding Java. What's holding you back on 6?
- pwagland 8y agoProbably they are using an "enterprise" J2EE stack that hasn't been updated to the latest version.
- gdsdfe 8y agoBingo! Ginormous amount of technical debt that nobody is dealing with and probably not even seeing ... Plus a culture of "if it works don't touch it" ... I am dying inside ...
- itronitron 8y ago6 to 7 is an easier switch than 7 to 8, they changed the boolean value of at least one default runtime parameter in java 8 without telling anyone
- qw 8y agoIf the only restriction is the compatibility with the rest of the stack, perhaps Kotlin is an option? Kotlin can target JDK 6 and can integrate with old stacks
- agumonkey 8y agoyeah java8 is liveable, previous versions are tough on your soul
- riku_iki 8y ago>Java 7 and 8 and Java 10 has much better type inference too.
- yawz 8y agoIf you're wondering about the license changes and whether Java is still free or not, you should have a look at "Java Is Still Free"[1]. [1] https://itnext.io/java-is-still-free-c02aef8c9e04 https://itnext.io/java-is-still-free-c02aef8c9e04.
- debacle 8y agoCould anyone benevolently compare/contrast the modern development of Java's ecosystem with that of .NET Core?
- kbsletten 8y agoI'm more qualified to comment on .NET but the main difference here is that Core was basically starting over on .NET from zero to go cross-platform and then immediately scrambling to get everybody's favorite feature plugged back in. Java seems to be trying to chip pieces off of the standard library by either modularizing or like this, just dropping it from the standard offering.
- kjeetgill 8y agoIn terms of ecosystem the open source world around Java is probably 3-5 times as rich but C# just really started making strides recently. There are hundreds of well tuned data structures, serialization libraries, and infrastructure services with long open source histories.
- fermienrico 8y agoPardon my ignorance but as an outsider(I know nothing about Java), why do GUI applications that use Java are terrible? Eclipse IDE comes to mind. They're hugely clunky. Also, Java based applets that used to run on browsers were awful. I'd love to know if this is something to do with Java itself or the way these apps are developed. I understand they're not using OS's native GUI APIs.
- awestroke 8y agoCounterpoint: IntelliJ is beautiful
- taeric 8y agoWhile I don't hate IntelliJ, I do get the impression it is mainly seen as beautiful in comparison to Eclipse/NetBeans. At the end of the day, writing editors that perform well is a hard problem. Writing an editor that performs well on small files is an easy problem. People often confuse making the easy problem easier with having solved a general problem.
- jniedrauer 8y agoI think you're picking out examples of poor performing Java applications. IntelliJ's IDEs are also written in Java and they are widely acclaimed. I do know what you mean though. Even "fast" Java applications have this vaguely clunky feel to them. I think this is the overhead of starting the JVM, or possibly GC. You see something similar with CPython desktop applications.
- tatersolid 8y ago> I do know what you mean though. Even "fast" Java applications have this vaguely clunky feel to them. I think this is the overhead of starting the JVM, or possibly GC. You see something similar with CPython desktop applications. Why don’t we see this in say, .NET GUI apps like Paint.net? C# has all the same baggage as a Java runtime, but somehow just works without tuning a crapload of GC settings. Even Electron apps seem hugely more responsive and useful than anything I’ve touched built with Java GUI frameworks (and I’ve touched a lot over the last 20 years).
- sixstringtheory 8y agoI don’t follow Java too closely these days as I haven’t worked in it in years. Pretty wild that Applets are now removed. I still remember the wonder of being able to build a compiled application that could run from command line or in the browser. RIP Applets, long live Java :)
- ChuckMcM 8y agoWith the removal of applets I feel like the last of the Java that helped build is gone. The process of working on the development of, and then watching the weaponizing of Java is one of the more memorable chapters in my career. For those who weren't there to remember, the concept of Applets, or applications that ran in a web browser and didn't need an operating system to run, was apparently terrifying to Microsoft. Sun's senior management exploited that terror blunt the invasion of Windows desktops in Sun's enterprise accounts. So many complex technical issues resolved with the test "will it scare/attenuate Microsoft?" rather than "Is this what the language/system should be?" [1] https://stuff.mit.edu/afs/sipb/user/marc/hotjava/doc/people.html https://stuff.mit.edu/afs/sipb/user/marc/hotjava/doc/people....
- nineteen999 8y ago> applications that ran in a web browser and didn't need an operating system to run Huh? The web browser/JVM certainly needed an operating system to run, and by extension the applets did too.
- twic 8y agoI think the point is that they weren't tied to a particular operating system. If someone wrote an application as an applet, they could sell it to customers who had Windows, or who had Solaris. They could, to coin a phrase, write once, run anywhere.
- nineteen999 8y agoAs long as "anywhere" meant Windows and Solaris. There were a lot more commercial operating systems in those days (eg. Tru64, SCO, HP-UX, OpenVMS, AIX, Linux, QNX, Classic MacOS etc), many or most of which didn't get a JVM/JRE until much later. I wonder if any significant amount of money was ever made from selling Java applets. I can't remember the last time I saw one in the wild.
- ComputerGuru 8y agoDoes the new licensing mean someone at Atlassian will try running their apps on OpenJDK for once instead of keeping it blacklisted? /methinks probably not. The money is in hosted licenses.
- cowmix 8y agoAtlassian is working on supporting OpenJDK across the board. https://confluence.atlassian.com/bitbucketserver/supported-platforms-776640981.html https://confluence.atlassian.com/bitbucketserver/supported-p... https://jira.atlassian.com/browse/CONFSERVER-16431 https://jira.atlassian.com/browse/CONFSERVER-16431 https://jira.atlassian.com/browse/JRASERVER-41589 https://jira.atlassian.com/browse/JRASERVER-41589
- ComputerGuru 8y agoThanks for the links. Wow, those issues are from 2009.
- winterbe 8y agoI wrote a user friendly version of the release notes. Maybe this is useful to someone: https://winterbe.com/posts/2018/09/24/java-11-tutorial/ https://winterbe.com/posts/2018/09/24/java-11-tutorial/
- akerro 8y agoI saw that on reddit and downvoted it, title says it shows new Java 11 things, so I expected dynamic class-file constants example and explanation, ZGC tuning and showcase, not "var" from Java 10 and HTTP client from Java 9... Your post describes some minor syntax changes and a few new base methods, doesn't cover release notes.
- msilb 8y agoLooks like Java is slowly but surely catching up to Scala in terms of API, syntactic sugar etc. I wonder if some people disliking Scala compiler slowness would consider the switch back to Java.
- kod 8y agoMaybe in 15 years Java will finally get pattern matching, but it's never getting higher kinded types.
- carey 8y agoThe first step towards pattern matching will be previewed in JDK 12[1], as a Kotlin-like switch statement, to form the basis of pattern matching[2] together with changes already in JDK 11[3]. I think it will be more like 15 months than 15 years. I don’t expect higher kinded types any time soon, though. [1]: http://openjdk.java.net/jeps/325 http://openjdk.java.net/jeps/325 [2]: http://openjdk.java.net/jeps/305 http://openjdk.java.net/jeps/305 [3]: http://openjdk.java.net/jeps/309 http://openjdk.java.net/jeps/309
- kod 8y agoIf it doesn't have what 305 calls "deconstruction patterns" and "nested patterns", it's not really pattern matching. I'll be impressed if those make it in within 15 months.
- MrTonyD 8y agoI think that a lot of people misunderstand Oracle. As a former Product Manager there, I can safely say that Oracle only cares about development tools to the extent that it furthers their business interests (based on Executive Meetings I attended). And since Microsoft provides a popular and full-featured development environment, Oracle is forced to provide an alternative or they might get shut out of all development projects by Microsoft (in fact, that is Microsoft strategy as learned by some of our "spies". Or did you think that Microsoft supports development tools because they want to be in that business?). In addition, based on meetings with executives from several Fortune 50 hardware and software vendors, it is clear that transferring as many costs as possible to open source groups saves money. And, as another benefit, any bugs or shortcomings can't be blamed on the corporation who sold them their hardware or software - again saving costs and preventing many lawsuits (which account for many, many millions paid quietly.) So be careful about projecting the "myth" of open source on to the companies involved with open source. The interests they claim are not their real interests. (And since some HR readers routinely ask me "what proof" and then work to dismiss anything I write - let me say that I have no proof. Insisting on proof for all data-points leads to poor judgment. It makes more sense to collect unproven data-points and assemble those along with known data to craft good judgment. Honestly I feel sorry for those whose judgment is blinded by their insistence on legal-level proof. They are mentally disabled.)
- jsight 8y agoIMO, your comment would have carried more weight without those last two sentences. Those seem a bit unnecessarily insulting? The rest of your comment is relatively consistent with some trends that I've seen in the development tools communities. I think it is also why it is so difficult to make money in that space.
- scarface74 8y agoOf course Microsoft wants to provide tools. Developers are what made Windows popular. They want to have cross platform tools because their next growth opportunity is Azure.