Oracle Aims To Sustain Java's 27-Year Franchise With v20 Rollout (siliconangle.com) 80
Oracle today announced the availability of Java 20, the latest version of the popular programming language and development platform. From a report: The latest version of the 27-year-old language includes thousands of performance, stability and security improvements and features seven enhancement proposals to the Java Development Kit that are aimed at increasing developer productivity and enhancing performance, stability and security. Oracle has coordinated a disciplined rollout of new Java releases on a six-month cadence for the past five years and says it's the top contributor to the open-source project. Java is the world's third most widely used programming language, according to Tiobe Software BV, and is No. 1 in organizational development, according to Oracle. "The innovation pipeline has never been richer," said Chad Arimura, vice president of developer relations at Oracle. "The problem space is changing and developers have higher demands on their programming languages than ever."
Re: (Score:2)
Was looking at the update lifetime, and it looks bizarre. A version from 2014 will still be receiving free updates 2 years after the upcoming fall release will be getting free updates?
And that late 23 release will be the first to outlive Java 8's end of support?
So bizarre...
Re: (Score:2)
I understand that, but the fact that Java 8 LTS is longer by *so* much, that no subsequent LTS release since it has extended to the same date. Java 8 LTS from 2014 is going to be supported even after Java 17 LTS goes end of life, even as Java 17 came out in 2021...
Re: (Score:2)
Re: (Score:2)
Some types of apps work better with a compiled/type-centric language. The larger or more critical ones are better with Java or C# in my opinion. Such are usually slower to develop with, but the type-checking reduces many types of bugs.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Although mine is C#, not Java, because Oracle.
Most likely you preferred C# before Oracle had anything to do with Java.
Re: (Score:3)
That is not correct.
I wrote server, middleware, and client code meant for cross-platform environments.
Java was a better fit for those use cases until it wasn't.
C# was not even usable in a cross-platform environment until well after Oracle took over Java from Sun.
It is now, however, and for as long as Oracle continues to operate as an extortion racket, I will not even think about looking back.
Re: (Score:1)
Having to choose between Oracle and Microsoft is like having to choose between a hernia or appendicitis.
Re: (Score:2)
Back in the day I'd have agreed, but now, I'd say more like choosing between hemorrhoids or terminal colon cancer.
You don't have to deal with Microsoft nor pay them a penny to use .NET Core or C#. You can, because their tooling is really good. But you don't have to. You also don't have to use their OS to deploy C# apps on .NET Core. You can, because its rich-client GUI story is better, and also Windows has lots of good games, but again you don't have to. C# on .NET Core on Linux is a thing. I've done
Java is already dead. (Score:3, Insightful)
Re: (Score:3)
Why? It's available with a free and open source license in the form of OpenJdk.
Re: (Score:3)
Why? It's available with a free and open source license in the form of OpenJdk.
First off, that's not an answer for an employer who has clearly developed a damn good reason to ban Oracle.
"OpenJDK (Open Java Development Kit) is an open source implementation of the Java Platform, Standard Edition (Java SE). The upstream community project OpenJDK is currently sponsored and led by Oracle..."
And lastly, when you can come to the CIO with an Enterprise-grade support package that includes covering the inevitable 3AM support call, then you can rest a little easier knowing the next major bug that cripples the company might not result in your immediate termination.
Re: Java is already dead. (Score:5, Informative)
Re: (Score:3)
Re: (Score:2)
Well, for some purposes I use Python and for others I use C++. I haven't done anything recently where C would be the better choice, but I looked at it pretty closely a couple of times. However hash tables are so useful that it's never made the cut. What I'd really like is what D and Vala promised to become, but neither one has developed in the right (for me) direction. E.g. I'd like a better documentation system than Doxygen, but nobody offers one. Not even as an add-on. I'd like built in conversion b
Re: Java is already dead. (Score:3)
Why does your CIO need a support package for a friggin language? We use gcc at my place. Do you think we get onto the hotline to Gnu HQ everytime we have a core dump??
Re: Java is already dead. (Score:4, Interesting)
Why does your CIO need a support package for a friggin language? We use gcc at my place. Do you think we get onto the hotline to Gnu HQ everytime we have a core dump??
JRE isn't just something that runs only on the server. When a serious bug comes around that cripples every workstation, your CIO won't give a flying fuck about "open" support at 3AM. They just want to know what the fuck you're ACTUALLY doing about the problem other than waiting on someone to clean the Cheeto dust from their fingers to fix a massive impact to business operations and revenue that will result in your boss being eventually fired.
One would think you're more interested in self-preservation. You wanna waive that unsupported "open" flag around? Do it at home, not at work.
Re: (Score:2)
I guess we just operate in different worlds. If something goes wrong at 3AM it's my problem and "I called Oracle and they are looking into it" isn't going to save my job. "Why couldn't you fix it/why don't we have a backup/why isn't there a contingency..." etc. The boss would be on the phone to his colleagues to suggest someone to replace me while I'm still trying to explain how much downtime 5 nines in the SLA really comes to...
Re: (Score:2)
This feels like just a lack of experience with the JVM.
First, Java is mostly a server language and runtime.
Second, I have *never* had any stability problem with Java in the last 22 years, at least when following reasonable update pace and not jumping on the first release of a new major version.
Third, if you have a bit of scalability, one server going down does not affect your uptime. So forget about hardware and software support. If it stops working, just put it offline and reinstall / repair the damn thing
Re: (Score:2)
Third, if you have a bit of scalability, one server going down does not affect your uptime. :P
That is most certainly not what "uptime" means
But I concur with the rest of your post.
Re: (Score:2)
If the uptime of your service is dependent on one server, then losing one server will affect your uptime. Otherwise not. My point.
Re: (Score:2)
Ah, good point.
Re: (Score:1)
Re: (Score:2)
XYZ isn't just something that runs only on the server. When a serious bug comes around that cripples every workstation,
And when exactly did something like this ever happen? Or lets cut it down: happen in the recent 50 years?
A bug that cripples Servers, and Workstations and can not be circumvented by the users/developers on that Workstations?
I mean: yesterday it worked, today it does not. Can't be so hard to isolate the change and fix / circumvent it yourself.
Re: (Score:1)
Why does your CIO need a support package for a friggin language? We use gcc at my place. Do you think we get onto the hotline to Gnu HQ everytime we have a core dump??
JRE isn't just something that runs only on the server. When a serious bug comes around that cripples every workstation, your CIO won't give a flying fuck about "open" support at 3AM. They just want to know what the fuck you're ACTUALLY doing about the problem other than waiting on someone to clean the Cheeto dust from their fingers to fix a massive impact to business operations and revenue that will result in your boss being eventually fired.
One would think you're more interested in self-preservation. You wanna waive that unsupported "open" flag around? Do it at home, not at work.
Using tough language without specific cases is hardly "edgy". It sounds like inexperience to me. If Java was that bad, no companies, banks, etc would use it. OpenJDK is a thing with multiple stewards (including IBM, God help us).
Re: (Score:2)
Right?
I heard this by the pro Microsoft, anti Linux brigade back in the the 1990s. It was garbage then and it's garbage now. No one makes panicked support calls to someone like that at 3am when prod goes down. Sure you have a bunch of engineers on it trying to figure out the problem which is almost always local, and looking for fixes/workarounds and maybe doing a roll back.
If you call Oracle over a Java problem you're going to get fuck all in a hurry.
Re:Java is already dead. (Score:5, Informative)
I will confess to not track Java license situation in general, but so long as Oracle are the ones dictating the terms, they've earned skepticism.
Not that long I was dealing with a company that claimed Oracle shook them down for JRE license fees even though they didn't install any JREs (they say some Oracle tool saw third party software offer up a java web start, and then *assumed* use of JRE on every desktop in their enterprise, without actually detecting JRE.
Oracle broadly has a reputation for being fickle about how 'open' their open projects are moment to moment, and swinging the wrong way at the wrong time and you end up with an Oracle shake down.
So it's easier to just avoid "Oracle" business relationship, both explicit business relationship most critically (so they have no leverage to insist on an 'audit'), and also mitigating risk by avoiding open Oracle projects in case they suddenly gain a surprise clause in a revision.
Re: (Score:2)
With recent changes in license terms, if ANY employee or contractor is found to be using Oracle Java, then license fees are due on behalf of EVERY employee.
In my view, the safe thing to do in light of this is to scan all enterprise computers nightly to find and remove it if it is there.
Re: (Score:2)
Re: (Score:1)
With Oracle's new licencing, Oracle Java is already dead. Banned at my employer.
For Oracles Java I can understand. But thankfully there is openjdk, which is gpl + classpath extension.
Can we stop breaking shit? (Score:4, Funny)
Java was supposed to be write once, run anywhere. Now it's write once, wrong version everywhere.
Re: (Score:2)
Java had a ton of promise. Now, other than enterprise backend stuff, why bother? If I don't have the right JVM (be it Oracle's or another), the right version, or even the right platform, it won't work.
If Oracle starts from scratch, changes the licensing, and focuses on what Java was meant to be, as in write once, run anywhere, from a 32 bit ARM or RISC-V CPU to a massive server architecture, it would give long term gains. Bonus points if ZFS were also offered with a BSD or GPL license so it could be an i
Re:Can we stop breaking shit? (Score:4, Insightful)
Note that in practice, contrary to what I would *hope* to happen, Oracle makes a very successful profitable business around being confusing and capricious about open source versus expensive licensing. One would think this scare people off, and it presumably does, but they have a big fat bunch of companies that just can't find the motivation to free themselves.
Re:Can we stop breaking shit? (Score:5, Funny)
> One would think this scare people off, and it presumably does, but they have a big fat bunch of companies that just can't find the motivation to free themselves.
Rumor is they wine and dine executives to gain favor. If you can't build a better mouse-trap, build one that also gives BJ's.
Re: (Score:2)
Yeah until it breaks with a failure mode of snap.
Re: (Score:1)
https://www.youtube.com/watch?... [youtube.com]
Re: (Score:2)
About the time JDK 1.1 came out, it pretty much set in stone the reality that every java app gets to bundle their own JRE.
Despite being a very popular language runtime, it is *rarely* installed directly and almost always just comes in bundled with a Java application, since everyone gave up on the dependency model.
Re: (Score:2)
That is kind of nonsense, as there is no "dependency" model.
# java /bin/java
starts what ever is either in your $PATH or what ever
is linked to.
If you are running a backend server and seriously need to have more than one Java on the backend, then fixt your start script and fix the $PATH. Most likely if you use different java versions on the backend you are running different services and those services are running on their own individual users anyway: hence have their own $PATH to begin with. Can't be so hard
Re: (Score:2)
That is not what is meant by write once, run anywhere. It just means you're targeting a virtual machine, and the virtual machine can run anywhere. It doesn't mean you can target a virtual machine and then use new features and still target the older virtual machine.
Re: (Score:2)
In my line it's all legacy java I run into and if you could continue to target the old VM with old features I would be okay with it. But thanks to terrible security issues that required hard breakage I find it's close to impossible to get legacy java stuff to run. Keeping old VMs with an old enough OS that it can still run the broken out of date JVM is essential. I don't blame Java for this, vendors pay for software to be developed (badly) once and refuse to update things, and Java needs its security flaws
Re: Can we stop breaking shit? (Score:2)
TBH so far the only "write once, run anywhere" languages I've used are golang and rust. Especially rust, which abstracts away the underlying OS specific bits quite a bit better, particularly for things like file permissions.
Other than a few edge cases, the library maintainers do a pretty good job of making sure that their code works on all of the major platforms. You write your code only once, and then you just compile it where it needs to run. Just distribute a standalone binary, and you don't have to give
Re: (Score:2)
Indeed! They have a goofed up mechanism for managing versions (or no mechanism). It has our PC support staff grey.
Why can't the app startup mechanism have a stub that checks to see that the fitting engine version is in place, and if not, prompt for an engine download, or automatically send a message to support staff (based on shop stub config).
That doesn't seem rocket science. Am I missing something, or is Oracle just lazy?
Most web browsers refresh themselves without drama.
Plus, many avoid Java because they
Re: (Score:1)
> You're responsible for [programming engine updating]
That would violate the sandbox principle, wouldn't it? An app shouldn't touch other executables unless special permissions given. MS added decent auto-update feature per WPF if I'm not mistaken such that app coders just click the feature "on" and don't have to program it themselves or use outside libraries.
Re: (Score:1)
Correction, that WPF feature is for the app update itself, not the Dot-Net engine. My mistake. (It's still a nice feature to have, but not the one I'm talking about.)
Re: (Score:2)
Tat is actually how Java on the desktop works.
It automatically checks if yu have the right version ... so no idea what your rant is about.
Re: (Score:2)
You seem to have misunderstood. You write Java once, then you run anywhere away from it.
Stil, it's good that they've done this for the kids what can't program so good.
What if we had a new version? (Score:2)
Perhaps they could release a new major revision of the language (not the VM), leaving behind all the legacy baggage and taking advantage of the lessons learned along the way. Maybe we could have once again a language that could be taught in a semester, as it was the case for the original version.
Re: (Score:1)
> Perhaps they could release a new major revision...leaving behind all the legacy baggage
I have giant list of things I'd like to change about C# and Java. If all were added in, the result would be too different to bother calling it C# or Java anymore.
Re: (Score:2)
Re:What if we had a new version? (Score:5, Insightful)
Re: (Score:2)
No one has ever tried to write a language that was designed to be the new iteration of Java: all other major JVM languages had very different design philosophies, they weren't de
Re: (Score:2)
Isn't that called C#?
Microsoft did try a smarter Java with Visual J++ and got sued into oblivion by Sun Microsystems. They threw in the towel and developed C#.
Re: What if we had a new version? (Score:1)
Re: (Score:2)
Re: (Score:1)
That happened long ago. See:
* Kotlin
* Scala
* Groovy
* Dart
JDK free (as in speech AND beer) at adoptium.net (Score:2)
Get your favorite free (as in speech) and free (as in beer) Java implementation at:
https://adoptium.net/ [adoptium.net]
Re: (Score:2)
Right after I posted that web site I notice it doesn't offer the other OpenJDK alternatives anymore, like:
Microsoft OpenJDK https://www.microsoft.com/open... [microsoft.com]
Amazon Corretto https://aws.amazon.com/corrett... [amazon.com]
IBM Semeru https://www.ibm.com/support/pa... [ibm.com]
Red Hat OpenJDK https://developers.redhat.com/... [redhat.com] (though I suspect this will merge with IBM Semeru)
Re: (Score:2)
OK. Here's the problem. Someone in your company, without your knowledge, downloads an app that requires Java, and gives instructions for how to download and install Oracle's version. They follow these instructions. It's a 60,000 person company.
Now, your company owes Oracle 60,000 licenses.
Doesn't matter that you're only using one. Doesn't matter that it's against company policy. The fine print in the license the person was supposed to have read says so, and Oracle can buy any court or jury in the worl
Re: (Score:2)
Sadly, they also own Sleepycat, the owners of Berkeley DB.
Does it have native NFT support for my code? (Score:2)
If not, I'll pass.
Been able to survive (Score:2)
Does old Minecraft work in this JRE version? (Score:2)
Or do we still need to use the older JRE versions?
This is embarassing (Score:2)
I really liked Java back in the day, and they made good progress.
Today, I am more exited about new C++ versions than new Java versions.
This is the list of their big 20th release:
https://blogs.oracle.com/java/... [oracle.com]
Some security API changes, some updates to regular expressions, and lots of bug fixes.
And compare that the the "aging" C++'s version 23:
https://en.wikipedia.org/wiki/... [wikipedia.org]
Better compile time functions (through consteval), monadic std::optional (functional programming), multidimensional array operators,