Live data from Hacker News

JEP 401: Value Objects (Preview) merged to OpenJDK master

github.com

141–150 of 185 posts

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#141

Earlier quoted context omitted.

Whatever Java is doing seems a few orders of magnitude smoother and saner than C++ (and I like C++).

It depends on how you look at it. C++ is very different since it is native. Java is a VM. This affects lots of decisions in weird ways. But in essence both commit to backwards stability at the end. C++ goes for performance, JVM for a more full-featured bytecode vm, etc. but still.

The JVM goes for performance, too, only with an emphasis on the performance of larger programs. It's designed to address some of the serious performance issues that large C++ programs tend to suffer from (I originally made the switch to Java because it was getting hard to keep the large C++ applications we were working on fast enough; Java does some optimisations that are hard for a C++ compiler).

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#142
post #123

Earlier quoted context omitted.

I've said this before but I'll say it again: The worst part of Java is Java programmers. For most of my career, I thought I hated Java, primarily because every piece of Java code I had ever worked with was overly verbose across a million different files to do things that would take like ten lines of code in any other language. Then I actually started looking at all the features for Java 8, 11, 17, and 21, and realize…

> The worst part of Java is Java programmers. For companies that deployed Java this is the best part. Growth of Java from 1995-2015 and enterprise IT outsourcing was almost in lockstep. It was not for programmers with taste or interest in coding. It was J2EE 1000 page manual printed and distributed in bulk at IT vendors describing things in hugely verbose details with dummy pet-store project to use all facets of Java…

Yeah, I guess I always just found it miserable to work on.

When I worked at a BigCo [1], our project was a big monorepo in Java which had 60,000 folders, and I don't remember how many files. It was decidedly no fun to work on, because everything was spread across a million files and so doing anything required sifting through dozens or even hundreds of files. I hated it.

I've worked on giant projects since then, but they've been written in more modern Java and they are less painful.

[1] It's not hard to find the specific one through my history but I politely ask you do not post it in reply to this post.

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#143
post #55
post #44

Earlier quoted context omitted.

I know and like Java for almost 30 years now. It is amazing how carefully the language is beeing refined. For the cultural aspect, yes, that is sadly true, but I have the feeling that the culture changes. More and more developers realize that there is a better way now (e. g. records instead of dumb classes full of getters and setters). Maybe the main problem is bloated frameworks and their stickyness. The Helidon fra…

IMHO, the main reason why Spring is huge is because it has grown organically to encompass many of the business cases/issues that one may encounter in both depth and breadth. So the http framework supports almost everything you may ever need and there is integration with every database, middleware, infra like kubernetes. (One can debate about the quality of all the lesser used modules but the main modules are pretty o…

> or we needed integration with an unsupported database

How difficult is/was it to add a custom integration?

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#144
post #15

I feel lonely in that: I mostly love Java as a language. The lack of value types is the biggest impediment to certain types of performance. I am really looking forward to this evolution of the language.

You’re not alone! I love Java too. It is excellent.

I don’t reach for it much anyone since I prefer TypeScript’s type system and the ability to use the same language for both client/server, but I’m never upset to write some Java :)

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#145

2934 commits OMG... huge work.

There is just a high level of a professionalism around the whole project. Who is sponsoring all of this? Do they all work for Oracle?

Valhalla is 99% done by Oracle, yes.

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#146
post #97

Earlier quoted context omitted.

Show me where IStatusChangeEntityCreationManagerFactory is in the language. Or the standard libraries. Or anything like it

https://docs.spring.io/spring-framework/docs/current/javadoc...

Spring is not Java. It's also one of the most complex projects out there.

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#147

Earlier quoted context omitted.

The tooling could be better, though. I wish it came with more batteries included, and it renovated that old Java cli split per commands, following a bit what golang did: - java run - java build - java test - java fuzz-test - java format - java lock - java lsp - etc. Along with a better support of posix long form flags like ‘--version’.

That will not happen for backward compatibility reasons but a new build tool with a modern CLI would be nice. One that's declarative like Maven (without the XML) and doesn't require an upgrade for every new JDK version like Gradle (screw Gradle).

Maven 4 provides alternative build file syntax with extensions: https://github.com/maveniverse/mason

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#148

Earlier quoted context omitted.

I've said this before but I'll say it again: The worst part of Java is Java programmers. For most of my career, I thought I hated Java, primarily because every piece of Java code I had ever worked with was overly verbose across a million different files to do things that would take like ten lines of code in any other language. Then I actually started looking at all the features for Java 8, 11, 17, and 21, and realize…

I'd say a lot of verbosity comes from generalization -- when you want the code to be reusable and moddable (pluginable). No wonder two widely moddable games (Minecraft and Kerbal Space Program) are written in Java and C# respectively, makes it very easy to create mods. Once I tried to make a Go project at least build-time moddable and found myself creating a lot of java-esque Factories and Builders. Whether that gene…

> No wonder two widely moddable games (Minecraft and Kerbal Space Program) are written in Java and C# respectively, makes it very easy to create mods.

It's more that it's easy to write code that links directly into the game. Easy to do because you can decompile them and make changes easily without having source code. Sure, Minecraft was obfuscated for a long time, but people put a lot of effort into deobfuscation and obfuscation removes a lot less than native compilation.

(You also don't need an official modding API this way)

Re: JEP 401: Value Objects (Preview) merged to OpenJDK master

#150

Earlier quoted context omitted.

There is just a high level of a professionalism around the whole project. Who is sponsoring all of this? Do they all work for Oracle?

Valhalla is 99% done by Oracle, yes.

I’m impressed by their uncharacteristic discipline and long term vision. In the big tech I know this would get pushed early.
Post reply on HN