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.
Java 20 / JDK 20: General Availability
301–310 of 356 posts
Re: Java 20 / JDK 20: General Availability
#302Earlier 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…
Re: Java 20 / JDK 20: General Availability
#303Earlier 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…
Re: Java 20 / JDK 20: General Availability
#304Really 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").
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
#305What 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/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
#306Re: Java 20 / JDK 20: General Availability
#307Earlier 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?
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
#308Earlier 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…
Re: Java 20 / JDK 20: General Availability
#309Earlier 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.
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
#310Earlier 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…