Live data from Hacker News

Java 27

mail.openjdk.org

241–250 of 429 posts

Re: Java 27

#241

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

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.

I don't understand the point of Kotlin anymore, now that Java has virtual threads and other stuff.

Re: Java 27

#243
post #212
post #5

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…

Polyglot dev here, that uses both ecosystems, Java since 1996, .NET before it was announced to the public in 2001, only available to selected Microsoft partners. A big difference between both ecosystems is that the Java world is like C and C++, even though Java isn't defined by ISO or ECMA, since Sun days the main implementation is only a reference, there are official documents for everything, and there is a plethora…

interesting. So less specialization on one side but also less fragmentation.

Re: Java 27

#244

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

It's decent for backends. I'd rather use JS, but there can be performance or ecosystem reasons to use Java. They fixed a lot of the gaps it had. JS used to have a big edge in async-await while Go had n-m multithreading, but now Java has the latter.

Re: Java 27

#245

Earlier quoted context omitted.

Why not Go, Rust, or C#?

Go and Rust have much worse tooling for enterprise-level collaboration

I'm not sure what enterprise-level collaboration means. In my experience, "enterprise" usually means: "Let's use tools that are 10 years behind, buggier than average, and have lots of half-baked features, none of which we need".

I'm not sure what kind of tools you mean, but unless you're looking for something that just works exactly the way EJBs do for some mysterious reasons, I don't see why you can't do most "enterprisey" things with Rust or Go. Or Python or TypeScript for that matter.

Re: Java 27

#246

Earlier quoted context omitted.

Can I trust code I’ve written myself with no guarantees from the language? Maybe. Can I trust code written by dozens of other developers (and/or agents) working on the same project over multiple years? Definitely not.

Why don't you have any coding standards? If you're working with agents in particular, catching and enforcing this stuff should be easier than ever.

Everyone has to deal with other code that might not even be from the same org. The "check it in CI" answer isn't an excuse either. You're bolting on so much extra crap that way.

I just don't see why nullability is a problem in the first place.

Re: Java 27

#247

Earlier quoted context omitted.

Most engineers don't get to decide to use a language either. Usually someone with the clout to pick a language has the clout to set style requirements too.

They do get to decide which jobs they take. And the languages involved are one of the easiest filters. A lot easier than checking whether the code a company actually writes is any good. Theoretically you don’t need to write AbstractFactoryProvider in Java, but looking at languages mentioned in job offers, I have a pretty good idea of which of them have a high probability of working with such code and which do not, ev…

Yeah I don't take Java jobs. There's nothing wrong with Java per se, but it usually has implications.

Re: Java 27

#248
post #86

Earlier quoted context omitted.

> 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…

The Java language and runtime have been co-designed as a unified platform for many years now. Virtually every significant feature has language, library, and VM people working on it, and we often don't even know when we start how much of the feature would be in the language, library, or VM. Consequently, there is no "language version" or a "runtime version". There's only a platform version, which is defined in a singl…

I wish there was a canonical write up on the governance of "java" and its history, it has changed a lot over the years (not just once I guess) and has a lot of fine prints. I find it hard to understand the hidden reasons and behind-the-scenes conflicts/compromises. There could probably be a whole book about this I guess.

Re: Java 27

#249
post #162

Earlier quoted context omitted.

> Java has a faster release schedule to get features out sooner While still being behind on most features?

Which features exactly? Java got exhaustive pattern matching before C# (through sealed interfaces), it has switch expressions, multi-line strings, green threads and structured concurrency, is getting value types, and even type classes in the work.

Typeclasses caught me by surprise. Smart move by the java team.

Re: Java 27

#250
post #71

Earlier quoted context omitted.

When (if) null safety ships, I‘m not sure I can justify using Kotlin any longer. Java simply got too nice.

Multiplatform and Compose come to mind as Kotlin differentiators. I agree rest of the language actually slowly falls behind

Falls behind how? Isn't it still ahead? Kotlin keeps changing too, you know!
Post reply on HN