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.
JEP 401: Value Objects (Preview) merged to OpenJDK master
141–150 of 185 posts
Re: JEP 401: Value Objects (Preview) merged to OpenJDK master
#142Earlier 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…
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
#143Earlier 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…
How difficult is/was it to add a custom integration?
Re: JEP 401: Value Objects (Preview) merged to OpenJDK master
#144I 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.
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
#145Re: JEP 401: Value Objects (Preview) merged to OpenJDK master
#146Earlier 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...
Re: JEP 401: Value Objects (Preview) merged to OpenJDK master
#147Earlier 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).
Re: JEP 401: Value Objects (Preview) merged to OpenJDK master
#148Earlier 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…
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
#149Re: JEP 401: Value Objects (Preview) merged to OpenJDK master
#150Earlier 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.