| ▲ | moomin an hour ago |
| C# dev here: it’s amazing how different this is from a Microsoft release. First off, Oracle are doing versions at approximately twice the cadence. But also, and I’m guessing this is a function of the much larger Java audience: things rarely get two preview versions in a proper release. Updates in beta versions, yes, all the time. It also feels like Microsoft are bundling a lot more into the platform and leaving less to the community. Again, probably an artifact of the different sizes of the communities. Also, the page reads like an open source “We’re finished, we’re tired.” announcement rather than the razzmatazz of a Microsoft release. |
|
| ▲ | kllrnohj an hour ago | parent | next [-] |
| > First off, Oracle are doing versions at approximately twice the cadence Is that actually a good thing? But Oracle started playing a game, for better or worse, where they decided to couple the "language version" with a single specific runtime's release schedule. For example, in "Java 27" there are exactly 0 language changes and 1 minor feature addition to the TLS library. Everything else is OpenJDK runtime internals which don't impact the language or how you use it. So if you don't use OpenJDK (such as if you use Oracle's other runtime, GraalVM), then Java 27 basically doesn't even exist at all. Skimming the past couple of C# releases, it doesn't look like Microsoft is playing that game, so the release cadence will of course be different. |
| |
| ▲ | hyperpape 43 minutes ago | parent | next [-] | | You’re only counting JEPs, which are only for more involved features. There are lots of changes to the JDK apis that are used by other runtimes. See, for instance: https://javaalmanac.io/jdk/27/apidiff/26/. Admittedly, the terminology here is almost designed to be maximally confusing, and I’ve never read a good post that laid out how everything relates. | | |
| ▲ | kllrnohj 24 minutes ago | parent [-] | | Fair, although even there I don't know if I'd call that "lots" at just 23 added or modified methods that aren't in preview |
| |
| ▲ | cogman10 31 minutes ago | parent | prev [-] | | There's not really a second C# runtime. Java has several, some based on the Openjdk, but a few that are completely new like OpenJ9 and Graal. The closest C# has is mono. This sort of thing is bound to happen with that situation. Heck, it happens with C++ whenever a new C++ version comes out. Some C++11 features took years to make their way into all the compilers. | | |
| ▲ | vlovich123 19 minutes ago | parent | next [-] | | Graal is based on OpenJDK. OpenJ9 while using a separate JVM and JIT leverage the openjdk class path as well as the build environment and various other things. I don’t think there’s a single alternate implementation that doesn’t leverage a good chunk of openjdk somehow | |
| ▲ | 21 minutes ago | parent | prev [-] | | [deleted] |
|
|
|
| ▲ | petilon 35 minutes ago | parent | prev | next [-] |
| > Microsoft are bundling a lot more into the platform and leaving less to the community. This is a good thing. In Java everything has multiple community offerings, so before doing anything you have to evaluate the community offerings and decide which one to go with. If you go with the wrong one you may end up having to switch at some point, and that can be painful. This happens so often that most of the time spent when using Java is doing these evaluations and comparisons. With C# you just use the one built into .NET platform. Saves a ton of time. |
| |
| ▲ | PaulHoule 6 minutes ago | parent | next [-] | | Sometimes the thing built into the .NET platform is great, sometime it is just crap but developers will use it anyway and it sets back the ecosystem. There is this division of labor between systems programmers and application programmers and often we think systems programmers are better because they know more about algorithms and data structures and compilers and assembly language and such. On the other hand, application developers understand how to reconcile the mental model of managers and employees and customers with computers, reality and common sense and, once they get experienced, see the commonalities between all the run-of-the-mill bizapps that we are coding all the time. Application programmers do a lot better at applications framework than systems programmers and make things like Ruby on Rails and Spring. Systems programmers make terrible things like ASP.NET MVC (I worked out a way to do MVC with ordinary ASP.NET, why couldn't they, with access to the platform internals?) | |
| ▲ | throwaway91033 18 minutes ago | parent | prev [-] | | If someone wants to create a project by assembling bits and pieces from different open source products they can, but many just go for Spring (Boot) and call it a day. All of my projects are based on Spring and I don't really have to look outside of that ecosystem. It almost acts as an aggregator of different open source solutions and often works by abstracting the functionality so that differences are not that big. I recently switched messaging providers and didn't have to change much of my code. | | |
| ▲ | rwyinuse 14 minutes ago | parent [-] | | Yep, with Spring Boot development is so easy, and even decade old projects are mostly easy to upgrade. I don't have experience from C# or .NET development, but at least compared to Python and especially JS ecosystems it's so much better. |
|
|
|
| ▲ | theandrewbailey an hour ago | parent | prev | next [-] |
| I never thought of Java being the 'move fast ~and break things~' alternative over .NET, but Java has a faster release schedule to get features out sooner. |
| |
| ▲ | madduci 40 minutes ago | parent [-] | | Seriously, how many are using always the latest releases of Java instead the LTS ones? With LTS ones you have ~2/3 years between the versions. | | |
| ▲ | throwaway91033 4 minutes ago | parent [-] | | We often use the latest version of Java at my work place. We haven't had any issues with upgrading, so there's no benefit of waiting for an LTS. There's no big process behind it either. The developer just quietly change the version as part of keeping the project up to date (BAU) It may be that we are shielded from edge cases because we are based on Spring, which is probably the most tested piece of software when it relates to new versions of Java. But it's my impression that the risk of upgrading to a new version of Java is not the same today as it was in the past. |
|
|
|
| ▲ | Betelbuddy 35 minutes ago | parent | prev | next [-] |
| >> Oracle are doing versions at approximately twice the cadence. This has nothing to do with Oracle. All good that you hear from Java in the last few years, is the great community and good old people from Sun working at Oracle. |
| |
|
| ▲ | Phelinofist 35 minutes ago | parent | prev | next [-] |
| > Also, the page reads like an open source “We’re finished, we’re tired.” I mean it's short and concise and there are additional resources that provide more detail. IMHO it's not a bad thing. |
|
| ▲ | BatchJob 43 minutes ago | parent | prev [-] |
| razzmatazz? Do you mean marketing lies and self aggrandizement for merely doing shoddy work? |
| |
| ▲ | jayd16 35 minutes ago | parent [-] | | Mads Torgersen's previews and such are enjoyable and upbeat, for example. |
|