Live data from Hacker News

Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

jvm-weekly.com

311–320 of 464 posts

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#311

Earlier quoted context omitted.

Since they plan to have null-restricted types, then I don't see any issue.

> plan to Well wasn't that the argument above, that the stuff they added so far isn't proper at least in part because they didn't fix that problem yet?

> yet But up the comment section, someone thinks they won't be there 'in the future'

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#312
post #27

Earlier quoted context omitted.

> They have added proper algebraic data types to the language No they haven't. E.g. they added a class that superficially looks like Option but subtly breaks the rules that Option is meant to follow, ensuring that no-one can ever manage to migrate existing codebases away from using `null`.

optional is not how algebraic data types are implemented in Java. Basically it's the combination of sealed types and records.

Until they implement member patterns. https://openjdk.org/projects/amber/design-notes/patterns/tow...

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#313
post #305
post #295

After reading a lot of comments in here, there is one thing that always repeats itself in Java/JVM-related comment sections on HN. There are a surprising number of people who have an idea of what the JVM or Java used to be and have very little idea of what it is today. It is a very fit predator in 2026. Does it have its warts? Yes, but the substrate is extremely good.

Many of us work on Java monoliths that started in the 2000s when it was in vogue and we still have to keep them chugging along on Java 8. Personally I'm familiar with all the new features that have come out in the last few years, but for my actual work, java is literally stuck in the past.

Any reason why? My entire company is on 21-25. Except for one project that decided to use sun.internal.* classes.

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#314
post #245

Earlier quoted context omitted.

legacy .NET to .NET Core (which was renamed once again to .NET) It was always .NET, only that new one had 1 till 4 had additional "Core" to clarify any confusion that could come from having same numbers as old. here's .NET's simplistic garbage collector ... it tries to be a one-fit-all solution that basically cannot be tweaked at all Definitely tweaking GC is not a thing in .NET land but it is far from "cannot be twe…

> It was always .NET No, it was not. What's called .NET now used to be .NET Core. And then there's .NET Framework which was commonly known as .NET. > "cannot be tweaked at all" Are you serious? Not only does the JDK have multiple GCs for different use cases (Serial, Parallel, G1, ZGC, Shenandoah), they have very refined tuning settings ( https://wiki.openjdk.org/spaces/zgc/pages/34668579/Main#Main... / https://docs.o…

You just confirmed your ignorance about anything .NET related.

Coming from someone claiming:

  "language wars" are silly and pointless. 
You are just so much in language wars I am just definitely ending the conversation.

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#316

You could probably a whole tech thriller on the evolution on Value Types in Java. I’ve been reading the mailing lists and watched all videos on the topic and it is truly inspiring how much they managed to consolidate the design to something that always looked like java. But while also going far deeper in granularity and understanding what it even means to be a value type and what optimizations can be done where

And the only syntax change is adding 'value'.

It’s more nuanced than that if you include tearability and implicit constructors

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#317

Earlier quoted context omitted.

I learned that exact style of writing in a marketing workshop, pre-AI. It's effective, satisfying, and a random third thing I can't be bothered to come up with right now. As a proportion of all easily crawled text on the internet, a lot of it will be random marketing copy. That influenced the writing style of early AIs, and since then everyone has trained at least partially on transcripts from every other AI chatbot

Oh my god did we inadvertently train AIs on idiotspeak.

* Checks notes *

Reddit

Twitter

Facebook

4chan

Call of Duty chat logs

Every public marketing site

SlashDot

UseNet

...

Verdict: Yes idiotspeak was part of the training set, but no, it was not inadvertent. There's a smattering of Shakespeare in there, at least.

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#318
post #270

Earlier quoted context omitted.

You see this in all the AI generated Tik Toks. What causes AI to use such a weird construction.

Wait until in 5 year's time all kids speak in rule of 3

Didn't you know? Evenly divisible numbers are infelicitous. That's why Atevi don't use them in polite conversation.

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#319
post #223

Earlier quoted context omitted.

The first two paragraphs are > On June 15, Oracle engineer Lois Foltan confirmed what a good chunk of the industry had stopped believing: JEP 401: Value Classes and Objects will be integrated into the main OpenJDK repository and is targeting JDK 28. > The change is so large that the remaining committers were asked to hold off on bigger commits during the integration. The pull request alone adds over 197 thousand line…

I mean I’m only answering that because you’re asking, nothing set me off personally there, but now that you ask: « The pull request alone adds over 197 thousand lines of code across 1,816 files. » I noticed that both Claude and GPT are fond of those kind of stupid accounting statements that don’t mean a lot in and of themselves, but look impressive in a « wow numbers » way. Which is kind of ironic since counting rema…

I understand ai hate but I would rather avoid a future where everybody talks in purposely weird and unstructured sentences to avoid being similar to ai

By necessity a lot of people write very similarly to how llm do

Re: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

#320

Earlier quoted context omitted.

As I understand it, this is anyway an extremely limited perf enhancement - for any class whose data size isn't guaranteed to be atomically writable on your CPU, after including the nullability overhead, it doesn't do anything, basically. On a CPU where 64 bits is the max guaranteed atomic read/write, even Point[] will not get optimized, since you need at least 65 bits of memory for a point value (since it has two 32…

Which is why this is the wrong approach. Again. This is a major misstep.

The core insight there is to separate value semantics (no identity) from reference (itself) semantics (nullability). While this particular change can bring very limited amount of improvements it’s still does some - probably smaller to no object header + more guaranteed optimizations for variables on stack.

It’s when they land next part (nullability) it will shine fully - particularly on the intersection of not null and value. Alternatively if they introduce tearable semantics it will also shine - it would be possible to still optimize array of value classes, even if they are nullable (for example by having correspondent nullability mask).

So they are taking right step in a right direction. They are just trying to land this incrementally.

Post reply on HN