Live data from Hacker News

Java 20 / JDK 20: General Availability

mail.openjdk.org

301–310 of 356 posts

Re: Java 20 / JDK 20: General Availability

#301
post #223

Earlier quoted context omitted.

Isn’t openjdk disconnected from Oracle?

Disconnected? No. Oracle pays for 95+% of all OpenJDK commits. Their OracleJDK is pretty much just an OpenJDK with a few logos added — they have over time made every proprietary feature open-source and available in OpenJDK. But as I expanded a bit more here ( https://news.ycombinator.com/item?id=35249701 ), Java is probably the safest bet from a code longevity perspective.

I didn’t know that, interesting!

Re: Java 20 / JDK 20: General Availability

#302

Earlier quoted context omitted.

Thank you, that's excellent insight into the thought process for the same feature at about the same time. You mention about the human-centred nature of syntax design... do you have any instinct for why one route vs another felt right to users? Do you feel like you've developed a better instinct for this over time, or is it still hard to predict what will feel natural to users?

> do you have any instinct for why one route vs another felt right to users? That's a good question. It is something I spend a lot of time thinking about when I see how users react to a design. In this case, I don't think I have a good answer as to why "when" seemed to go down easier than "if". > Do you feel like you've developed a better instinct for this over time, or is it still hard to predict what will feel natu…

As a big Dart fan I would say it’s actually in no small part to how the core language team works. Really good mix of thoughtfulness and pragmatism.

Re: Java 20 / JDK 20: General Availability

#303

Earlier quoted context omitted.

I haven't looked into CLR in a long time, but it feels like it has a fraction of JVM's adoption and community size. Microsoft also seems to be prioritizing Typescript and Node internally with its recent moves.

> Microsoft also seems to be prioritizing Typescript and Node internally with its recent moves. You may want to look at Blazor Webassembly ( https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blaz... ) and Blazor United ( https://devblogs.microsoft.com/dotnet/asp-net-core-updates-i... ) They scrapped the old CLR and started over with a new "CLR Core". Then they ported the new CLR Core along with the framework BC…

To be exact, they have three active CLRs: CoreCLR, (Framework) CLR and MonoVM. WebAssembly, Android and iOS apps use the MonoVM because it is optimized on AOT.

Re: Java 20 / JDK 20: General Availability

#304

Really excited to see how virtual threads are taken up by developers, and if they affect the larger programming language community. They just really seem like "the best of both worlds" to me: the high scalability/low resource usage of async/await, with the ease-of-use experience of threads (e.g. not having to worry about "function coloring").

The fact that they’re cooperatively scheduled makes them quite problematic.

Basically a leaky abstraction, you have to think whether your code will block or not.

Go went through the same process, before eventually figuring out that they do need to make their lightweight threads (goroutines) preemptive.

Re: Java 20 / JDK 20: General Availability

#305
post #174

What are some good primers to understand the prominent new Java features? Not just in 20, but since, say, 8. Asking as someone who would like to be cursorily familiar with Java, but does not use it day to day. I'm very familiar with things like auto type inference, pattern matching, multi-line strings and structured concurrency from other languages, so I'm not looking for an introduction to Java. I'm looking for some…

- https://www.baeldung.com/java-8-new-features,

- https://www.baeldung.com/new-java-9,

- https://www.baeldung.com/java-10-overview,

- https://www.baeldung.com/java-11-new-features,

- https://www.baeldung.com/java-12-new-features,

- https://www.baeldung.com/java-13-new-features,

- https://www.baeldung.com/java-14-new-features,

- https://www.baeldung.com/java-15-new,

- https://www.baeldung.com/java-16-new-features,

- https://www.baeldung.com/java-17-new-features,

- https://www.developer.com/java/java-18-features/,

- https://www.infoworld.com/article/3676699/jdk-20-the-new-fea...

- https://www.infoworld.com/article/3653331/jdk-19-the-new-fea...,

Re: Java 20 / JDK 20: General Availability

#307
post #229

Earlier quoted context omitted.

The problem with ChatGPT is that, when it should say "I don't know", it will instead confidently spew plausible sounding garbage.

So, like most people?

There are bullshitters in the real world, but for the most part they tend to just say "I don't know" in a really convoluted way. They won't, for example, completely fabricate entire concepts and speak confidently and in detail about them.

For example, I asked ChatGPT about the meaning of a non-existing verb ("to spoink"). It originally said the word didn't exist, but when I said "are you sure? we talked about it before, it's something to do with trifle" it invented an entire episode of the IT Crowd (Season 3, Episode 3), talked at length about how that word appeared twice. It claimed that one character - Moss - created it as the sound a metal ball would make if it hit a hard surface, and also that it's what happens when you leave a trifle out uncovered in the open and it goes lumpy. It's creative, but it's nonsense.

Very few humans could pull this off convincingly or would even attempt it. They would say "no we didn't talk about the verb 'to spoink' that sounds like nonsense".

Re: Java 20 / JDK 20: General Availability

#308
post #307

Earlier quoted context omitted.

So, like most people?

There are bullshitters in the real world, but for the most part they tend to just say "I don't know" in a really convoluted way. They won't, for example, completely fabricate entire concepts and speak confidently and in detail about them. For example, I asked ChatGPT about the meaning of a non-existing verb ("to spoink"). It originally said the word didn't exist, but when I said "are you sure? we talked about it befo…

Why not? "Spoink" is a perfectly cromulent word!

Re: Java 20 / JDK 20: General Availability

#309

Earlier quoted context omitted.

More contracts enforced by the typer. > Almost everything there Everything. But the mere presence of "equivalents" doesn't make pure functional programming less valuable.

I have used cats-effect but not ZIO. My view has been that reinventing imperative programming (IO monad) on math (pure FP) on imperative programming (the machine) brings me no benefit. What does a coarse-grained effect type get you? The hard part of concurrent programming is concurrency, rather than knowing what code is effectful.

> What does a coarse-grained effect type get you?

For monofunctors: reliable error handling, an ability to re-interpret the same IO structure multiple times, better reasoning during refactorings due to referential transparency.

For bifunctors: the above plus explicit domain (expected) error encoding and even more reliable error handling.

Re: Java 20 / JDK 20: General Availability

#310
post #225

Earlier quoted context omitted.

AFAIK Java was GPL'd by Sun (before the Oracle purchase). This resulted in the OpenJDK, which is the basis for all distributions of Java. Oracle is a big contributor to the development, but so are many others. You can get a pure OpenJDK or any of a number of branded JDKs like those from Eclipse, BellSoft, etc. You can get non-free distributions with support too. A sticking point for a number of years was the TCK (Tec…

Asking honest question here - did Oracle change the terms back so that one can now develop and distribute applications using their JDK without fees so long as one does not also re-distribute/bundle their jdk with your application(s)? I just read something along those lines having thought that one couldn't use their JDK for anything without fee anymore. If so, is there a reason to go with OpenJDK over Oracle other tha…

[deleted]
Post reply on HN