3 ms·
It is confusing from the outside though, trying to decide if you should use Java from your distro, from Oracle, Azul, Amazon Corretto, AdoptOpenJDK, Eclipse Tem
by tyingq 5y ago
It is confusing from the outside though, trying to decide if you should use Java from your distro, from Oracle, Azul, Amazon Corretto, AdoptOpenJDK, Eclipse Temurin, or Red Hat OpenJDK. Which ones have might have builds for your various platforms, what support they might offer, how closely they track OpenJDK, etc.
One good example is what is meant by "LTS". You get different answers to that question depending on which JDK it is.[1]
I don't remember another language where it was ever this confusing.
[1] More detail: https://www.javacodegeeks.com/2019/07/long-term-support-mean-openjdk.html https://www.javacodegeeks.com/2019/07/long-term-support-mean...
- listenallyall 5y agoI mean, just picking the best Linux distro for you or your company's particular use case is more confusing than this.
- tyingq 5y agoLinux was like that almost from day one, so it's expected. It's much less expected for a language.
- listenallyall 5y agoThe JVM isn't a language. Kotlin, Scala, Clojure, and Java are languages. I'm quite pleased there are an abundance of options when picking a runtime. Yes, Oracle has not been a good steward, so having numerous open and free alternatives is a positive thing.
- tyingq 5y agoThat's true, but a little pedantic. If you look at it from the lens of "I've picked a language (java), now I need to build and run/deploy things", it's a confusing ecosystem. There's good arguments for why things are the way they are. But there's not really a good argument that it's straightforward and simple.
- listenallyall 5y agoYou are not making a coherent argument. Once you have decided you're building your server app in Java, it is MORE difficult to evaluate and decide Ubuntu, Debian, Red Hat, CentOS, etc. than it is to pick a runtime. Whether it has been like that "from day one" to use your term, is irrelevant. Secondly, having choice is GOOD. Yes it adds a bit of confusion but I'd rather have options than not. If you want some overriding authority to make all the decisions for you, go build on iOS.
- tyingq 5y agoWhy is the comparison to operating systems and not other development languages?
- listenallyall 5y agoLol, you just can't leave this alone. Choosing a JVM is about 99% less confusing than the last 20 years of .NET Framework/Core/Mono mess and all its sub-projects (ASP.NET, Silverlight, WinFX, etc). At least in Java if you target v.11 you know to install JDK 11 (or higher). Meanwhile if you write C# v8 you need .NET Framework 4.8 to run it. Or maybe .NET Core 3 - which is now called .NET 5. Then over in Python land you've got IronPython, Jython, Pypy, plus the need to keep v2 as "python" on most Linux'es and "python3" for running/building new stuff. Don't forget virtual environments so you can pip install one version of a certain package while keeping it separate from a different installed version of that same package elsewhere. Java is super simple by comparison. https://stackoverflow.com/a/38506668 https://stackoverflow.com/a/38506668 https://docs.microsoft.com/en-us/dotnet/core/dotnet-five https://docs.microsoft.com/en-us/dotnet/core/dotnet-five
- kaba0 5y agoJust simply issue pkg-manager install openjdk and that’s it. Most vendors are just repackages of upstream, and you more than likely don’t need n years of support.
- kaba0 5y agoOracle bas been and continue to be a good steward. Who finished the open-sourcing of OpenJDK to the point where it is feature-equivalent to their OracleJDK? Who pays for 98%+ of developers actually working on OpenJDK, on which other companies build their tiny modifications to create a “new” runtime? Who finances GraalVM and other top-notch research? You can hate oracle all you want for some of their other segments, but they are insanely good at managing the Java ecosystem and we should be thankful for that.
- listenallyall 5y agoThis is a very valid counter-argument and perhaps I've been influenced by Oracle's general reputation, as well as not fully understanding who is responsible for the various open-source builds. I agree that the JVM is a fantastic platform and if it's Oracle putting in most of the work and the funding then I take my statement back.
- didibus 5y agoMost other languages don't offer long term support. You can't run an old version of Python and continue to get security and performance backported fixes. Same thing with GO or Ruby or Swift. I can't remember what Microsoft does for .Net, but I suspect you also need to always be on the newest CLR to get updates. I think this is one of the major differences with the JVM, in a way, it has more options and vendors which should be a good thing, but it seems to mostly confuse people.
- davey48016 5y agohttps://dotnet.microsoft.com/platform/support/policy/dotnet-core https://dotnet.microsoft.com/platform/support/policy/dotnet-... Dotnet LTS versions have three years of support. LTS versions come out every two years, so there is a year of overlap. The non-LTS (which they call Current) have 18 months of support.