Live data from Hacker News

Java 25 officially released

mail.openjdk.org

211–220 of 260 posts

Re: Java 25 officially released

#211

Earlier quoted context omitted.

Java's biggest risk towards continued adoption, by far, is the culture surrounding it - old Java programmers and old Java programs continue to be needlessly verbose, even if the language now has the tools (pretty much) to be as terse as other popular, modern languages. It's an uphill battle, but it might just climb the hill because it's still such a behemoth.

It all failed when .stream() appeared. Why make people use .stream() for functional programming, plus streams aren’t even reusable, I almost wish they invented a new operator based on an exotic UTF-8 character than those 9 extra characters. Fonts should have a ligature for .stream(). And now let’s talk about .collect(toList())… And records which look like ugly beans… Java is the land of the verbose. But it can probab…

Nobody complains about the Rust turbo-fish operator which is pretty verbose too. Java has already has introduced a direct toList()/toArray() anyways.

    let v = (1..5).collect::>(); // Cool Rust

Re: Java 25 officially released

#212
post #162
post #139

Earlier quoted context omitted.

I think it is quite high, especially for newcomers to the ecosystem. The popular sdkman CLI tool for managing JDK installations provides 17 different JDKs to install: https://sdkman.io/jdks/ With the DotNet SDK for comparisons sake, there is but one provider, and package management is provided as first class citizen in the compiler CLI, removing the need to even pick a "gradle" or "maven" style build tool in the firs…

At the very top of the page it mentions a default which kind of negates that issue...

It doesn’t negate the issue at all, especially as sdkman is an optional extra tool. If working with others, that default is not always going to be the one your team develops against either. If you are just trying to pick a jdk and don’t even know sdkman exists, a sensible person will rightly wonder why the ecosystem has fractured into 17 JDKs, or you won’t notice at all and blindly pick a download from the oracle website. I’ve seen it cause confusion many times for new (and old!) Java developers.

Checking a new developer has actually managed to install the correct JDK for a given project is still a thing I have to do, all the time.

Sdkmans docs also have no bearing on the multiple build systems in the java world too, which again simply a non-issue in DotNet and many others.

Re: Java 25 officially released

#213
post #14

Earlier quoted context omitted.

I don't disagree (it is gpl licenced after all)- but it's worth keeping in mind that openjdk is still provided by oracle , too. And all the other variants ultimately just repackage it. So if oracle doesn't care about destroying the Java IP, it definitely could cut everyone off from updates going forward. I don't think they'll do so however, MySQL is still freely usable too, right? And that's oracle IP too. Might chan…

And there is Amazon Correcto, Eclipse Temurin... Sure, that could stop to maintain it, but would put the power immediately in the hands of other companies with a fork That said, you always have oracle's greediness...

Amazon Corretto and Eclipse Temurin are developed and licensed by Oracle. They are just packaged and distributed by Amazon and IBM respectively. If you report an issue against them, the Amazon/IBM people will forward the issue to us at Oracle to resolve.

BTW, I don't dispute that Oracle is greedy, but I find the suggestion that Amazon, IBM, Google, MS etc. are any less so laughable.

Re: Java 25 officially released

#214
post #88

Earlier quoted context omitted.

Just use OpenJDK (only downside is you have to upgrade every half year) or a distribution of another vendor (most people use Eclipse, or Red Hat if they already are Red Hats customers). It's really not as difficult as it is made out to be. If you use Oracle's distribution of the JDK then you are an enterprise customer and should have the resources to deal with their license terms.

All that just seems like friction when there are frictionless alternatives available. Life's too short for friction.

There is no friction. Don't use commercial products if you don't want to pay for them. End of story.

Re: Java 25 officially released

#215
post #195
post #79

Earlier quoted context omitted.

The move from javax to jakarta was not really connected to the changes in the language. It is very much recommended to not do these upgrades simultaneously.

> The move from javax to jakarta was not really connected to the changes in the language. It sort of was; it was caused by Java no longer coming with the J2EE libraries. Before that, J2EE could be considered part of Java; now that it's a separate project, they were forced to rename the packages.

The JDK didn't come with these packages anymore. They were never part of core Java.

Re: Java 25 officially released

#216

Earlier quoted context omitted.

If we look at .NET vs Java, then yes, Microsoft is better. Microsoft may charge for some of its dev tools (Visual Studio etc), but .NET itself is and was always totally free.

I don't think "was always" is an accurate statement However, above and beyond free, it is also a collection of ECMA standards https://learn.microsoft.com/en-us/dotnet/fundamentals/standa... Now, don't get me wrong: I have grave suspicions there is currently only one actual implementation of them (I don't count hobby, or abandonware, ones) but IMHO "actual standard" combined with "for real reference implementation" is…

> I don't think "was always" is an accurate statement

If we want to be really pedantic they said ".NET" and not ".NET Framework" or ".NET Core", so basically that what came with .NET 5 and newer.

Re: Java 25 officially released

#217

Earlier quoted context omitted.

If we look at .NET vs Java, then yes, Microsoft is better. Microsoft may charge for some of its dev tools (Visual Studio etc), but .NET itself is and was always totally free.

And .NET is truly cross-platform for 11 years already (since .NET Core 3.0 was released). No licensing/patent/litigation issues since then. Great GUI cross-platform GUI toolkit (MAUI), great WASM engine (Blazor). Upcoming .NET 10 is going to be awesome.

Isn't the official MAUI still basically "everything but Linux"? I haven't been keeping up with that the last 2 or so years and I just remember there being an unofficial GTK implementation somewhere in the interwebs, but nothing being officially supported on Linux.

Re: Java 25 officially released

#218
post #170
post #164

Earlier quoted context omitted.

The affected APIs were from packages where is is easy to tell from the name that they were not part of the standard. These can be very useful in certain circumstances, but it should have always been clear that there is a risk they could one day be changed in an incompatible way or removed.

Does not change the fact that existing code, or existing JARs could not run any longer, and had to be rewriten. When code breaks, the user doesn't care about the details of the root cause, it stays broken.

That code was never compatible with standard Java to begin with, therefore nobody should have been surprised. It would have never run on a JVM that didn't bother to implement the same internal APIs.

Crucially, if the OpenJDK project had removed or changed these internal APIs the result would have been all the same. But it's simply unreasonable to expect Oracle to also maintain backwards compatibility there.

Re: Java 25 officially released

#219

Earlier quoted context omitted.

> just get some openjdk distribution From several sources: - Oracle themselves, at jdk.java.net - Microsoft, at microsoft.com/openjdk - Red Hat ... - Azul Systems ... - Amazon - Bell Soft - Canonical (Ubuntu ships OpenJDK binaries built by them) - build yourself?

Just go to https://openjdk.org/ and click on the "download" link. Or use your OS package manager and install openjdk. Problem solved. Just like any other software, you know ?

That download link takes you to jdk.java.net, which hosts OpenJDK builds built by Oracle.

Re: Java 25 officially released

#220

Earlier quoted context omitted.

> I can come back to a Clojure program I wrote ten years ago and it runs great Is that thanks to JVM or due to the way how Clojure works? Because I can share the same anecdotes for my Clojurescript projects. I can grab any old nbb script and things just work off the bat - sometimes I have to update some npm dependency, but most of the time, things simply aren't horribly broken. Meanwhile, I just spent half a day jump…

i think this is because of Clojure's mentality on backwards compatibility and not the JVM specifically. please someone correct me if im wrong tho!

I feel there's much more to it. There are so many pieces in Clojure that just feel like they're done right. Even after a decade of using it, I remain happy. Not a single other language (and I tried more than a few) has kept me happy for so long.
Post reply on HN