Remix.run Logo
Java 27 Released(mail.openjdk.org)
70 points by mkurz an hour ago | 37 comments
moomin 35 minutes ago | parent | next [-]

C# dev here: it’s amazing how different this is from a Microsoft release. First off, Oracle are doing versions at approximately twice the cadence. But also, and I’m guessing this is a function of the much larger Java audience: things rarely get two preview versions in a proper release. Updates in beta versions, yes, all the time. It also feels like Microsoft are bundling a lot more into the platform and leaving less to the community. Again, probably an artifact of the different sizes of the communities. Also, the page reads like an open source “We’re finished, we’re tired.” announcement rather than the razzmatazz of a Microsoft release.

petilon 2 minutes ago | parent | next [-]

> Microsoft are bundling a lot more into the platform and leaving less to the community.

This is a good thing. In Java everything has multiple community offerings, so before doing anything you have to evaluate the community offerings and decide which one to go with. If you go with the wrong one you may end up having to switch at some point, and that can be painful. This happens so often that most of the time spent when using Java is doing these evaluations and comparisons. With C# you just use the one built into .NET platform. Saves a ton of time.

kllrnohj 20 minutes ago | parent | prev | next [-]

> First off, Oracle are doing versions at approximately twice the cadence

Is that actually a good thing?

But Oracle started playing a game, for better or worse, where they decided to couple the "language version" with a single specific runtime's release schedule. For example, in "Java 27" there are exactly 0 language changes and 1 minor feature addition to the TLS library.

Everything else is OpenJDK runtime internals which don't impact the language or how you use it. So if you don't use OpenJDK (such as if you use Oracle's other runtime, GraalVM), then Java 27 basically doesn't even exist at all. Skimming the past couple of C# releases, it doesn't look like Microsoft is playing that game, so the release cadence will of course be different.

hyperpape 10 minutes ago | parent [-]

You’re only counting JEPs, which are only for more involved features. There are lots of changes to the JDK apis that are used by other runtimes. See, for instance: https://javaalmanac.io/jdk/27/apidiff/26/.

Admittedly, the terminology here is almost designed to be maximally confusing, and I’ve never read a good post that laid out how everything relates.

Betelbuddy a minute ago | parent | prev | next [-]

>> Oracle are doing versions at approximately twice the cadence.

This has nothing to do with Oracle. All good that you hear from Java in the last few years, is the great community and good old people from Sun working at Oracle.

Phelinofist 2 minutes ago | parent | prev | next [-]

> Also, the page reads like an open source “We’re finished, we’re tired.”

I mean it's short and concise and there are additional resources that provide more detail. IMHO it's not a bad thing.

theandrewbailey 20 minutes ago | parent | prev | next [-]

I never thought of Java being the 'move fast ~and break things~' alternative over .NET, but Java has a faster release schedule to get features out sooner.

madduci 7 minutes ago | parent [-]

Seriously, how many are using always the latest releases of Java instead the LTS ones? With LTS ones you have ~2/3 years between the versions.

BatchJob 10 minutes ago | parent | prev [-]

razzmatazz? Do you mean marketing lies and self aggrandizement for merely doing shoddy work?

jayd16 a minute ago | parent [-]

Mads Torgersen's previews and such are enjoyable and upbeat, for example.

Horffupolde 20 minutes ago | parent | prev | next [-]

Serious question: when should one use Java for greenfield projects in 2026?

t0mas88 13 minutes ago | parent | next [-]

When building boring web applications with a sizeable team that need to run for a long time. Hiring developers is easy since there are many, there is nearly no magic and the language is quite strict and type safe so it works well with a large team.

And that "team" nowadays may also consist of many AI agents. In my experience Claude Code for example works very well with a typed, slightly boring language with lots of framework and library support. Because it doesn't compile when you get something wrong, instead of getting a vague runtime issue that Claude can't always see.

marginalia_nu 4 minutes ago | parent | prev | next [-]

Not at all a bad choice.

It's stable to the point of boring, and there's no shortage of people who know the language and can work with it, it's got best in class tooling, decades worth of libraries almost all very mature. Most of the language's issues are from legacy code bases coded in a style that isn't really relevant to a greenfield project.

topbanana 14 minutes ago | parent | prev | next [-]

When you work at a Java shop. Kotlin is much nicer if you have to run on the JVM but aren't restricted to Java.

dorkypunk 15 minutes ago | parent | prev | next [-]

When you are already familiar with it or work in a Java shop, there are better options if you are starting from scratch, but if you already have 50 guys that know Java it's a pretty big ask for all of them to switch.

kllrnohj 18 minutes ago | parent | prev | next [-]

When you think a garbage collected language is a good fit for whatever you're building?

kfir 14 minutes ago | parent [-]

Wouldn't you go with golang in that case?

ndriscoll 8 minutes ago | parent | next [-]

Golang gives you none of nice features of a modern language while being about the same performance tier as Scala or Java, so there's basically no reason not to use Scala.

topbanana 14 minutes ago | parent | prev [-]

I would, or C#

orangesilk 15 minutes ago | parent | prev [-]

Jruby is nice - runs Ruby on a Java Virtual Machine with full concurrency and Ahead Of Time compilation

aaronax 28 minutes ago | parent | prev | next [-]

"The Java Story" documentary by CultRepo on YouTube is pretty great. A major topic is the release cadence which some other comments here are mentioning / joking about.

svcrunch 43 minutes ago | parent | prev | next [-]

I've been using the Vector APIs for years now, and I'm still waiting for them to GA!

They are useful for neural information retrieval (RAG, memory), which relies heavily on content vectorization and similarity matching using their dot products.

taspeotis 39 minutes ago | parent | prev | next [-]

Knock knock

Who's there?

long pause

Java

Betelbuddy 19 minutes ago | parent | next [-]

High Speed Trading team using Java looking puzzled ....

https://lmax-exchange.github.io/disruptor/

Bluestein 15 minutes ago | parent [-]

This thing is a-ma-zing. It is trully a wonder. It is something to behold. The "Disruptor" pattern.-

lazystone 37 minutes ago | parent | prev | next [-]

Oh, I see, jokes from 30 years ago!

Boereck 4 minutes ago | parent | next [-]

Alternatively:

Knock, knock

who's there

It's the 90s, wanting their jokes back

nairboon 7 minutes ago | parent | prev [-]

And still funny today, not all jokes survive that long.

azatom 34 minutes ago | parent | prev | next [-]

It's on you bc it was (arguably but still) dead 17 years ago.

edit: don't get me wrong, i am not here to hate java, but bc i am also ... hm necrophil :)

taspeotis 21 minutes ago | parent [-]

17 years is a rookie number. Take C# auto-properties, for example: 19 years ago!

Now try asking, "When did Java get auto-properties?"

marginalia_nu 2 minutes ago | parent [-]

News at 11.

Language that runs on the explicit design philosophy of letting other languages experiment first and then incorporating their lessons learned once the dust has settled is late to implement a feature.

nsxwolf 35 minutes ago | parent | prev [-]

G1 is now the default garbage collector in 27.

taspeotis 29 minutes ago | parent [-]

Sorry I only just set -xXx360NoScopexXx=4G to run that latest version without hitting OOM and you are right, it is indeed quite fast with G1.

arein3 26 minutes ago | parent | prev | next [-]

Project Valhalla will go into Java 28 (next year, and preview version).

Fingers crossed I'll manage to use null type safety in my lifetime.

rf15 20 minutes ago | parent | next [-]

universal null type safety has sadly been discarded as a core concept of Valhalla in my Understanding; that being said, the proposals in Valhalla have null-safety as a side effect, but only under certain conditions.

karussell 22 minutes ago | parent | prev [-]

A first step of Valhalla that is ...

rf15 22 minutes ago | parent | prev [-]

> Twelfth Incubator

Are you sure this egg is actually viable?

I mean, I'd love to see it, but...