Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Oracle Programming

Oracle Aims To Sustain Java's 27-Year Franchise With v20 Rollout (siliconangle.com) 80

Oracle today announced the availability of Java 20, the latest version of the popular programming language and development platform. From a report: The latest version of the 27-year-old language includes thousands of performance, stability and security improvements and features seven enhancement proposals to the Java Development Kit that are aimed at increasing developer productivity and enhancing performance, stability and security. Oracle has coordinated a disciplined rollout of new Java releases on a six-month cadence for the past five years and says it's the top contributor to the open-source project. Java is the world's third most widely used programming language, according to Tiobe Software BV, and is No. 1 in organizational development, according to Oracle. "The innovation pipeline has never been richer," said Chad Arimura, vice president of developer relations at Oracle. "The problem space is changing and developers have higher demands on their programming languages than ever."
This discussion has been archived. No new comments can be posted.

Oracle Aims To Sustain Java's 27-Year Franchise With v20 Rollout

Comments Filter:
  • by Major_Disorder ( 5019363 ) on Tuesday March 21, 2023 @02:32PM (#63388413)
    With Oracle's new licencing, Oracle Java is already dead. Banned at my employer.
    • Why? It's available with a free and open source license in the form of OpenJdk.
         

      • Why? It's available with a free and open source license in the form of OpenJdk.

        First off, that's not an answer for an employer who has clearly developed a damn good reason to ban Oracle.

        "OpenJDK (Open Java Development Kit) is an open source implementation of the Java Platform, Standard Edition (Java SE). The upstream community project OpenJDK is currently sponsored and led by Oracle..."

        And lastly, when you can come to the CIO with an Enterprise-grade support package that includes covering the inevitable 3AM support call, then you can rest a little easier knowing the next major bug that cripples the company might not result in your immediate termination.

        • by Nadir ( 805 ) on Tuesday March 21, 2023 @03:03PM (#63388519) Homepage
          Red Hat, Azul and others have fully supported distributions of Java.
        • I wonder what can what replace java in this case. Replace the whole language, using alternative libraries with cheaper support, both? What are the alternatives? Microsoft(with full rewrite of the soft)?
          • by HiThere ( 15173 )

            Well, for some purposes I use Python and for others I use C++. I haven't done anything recently where C would be the better choice, but I looked at it pretty closely a couple of times. However hash tables are so useful that it's never made the cut. What I'd really like is what D and Vala promised to become, but neither one has developed in the right (for me) direction. E.g. I'd like a better documentation system than Doxygen, but nobody offers one. Not even as an add-on. I'd like built in conversion b

        • Why does your CIO need a support package for a friggin language? We use gcc at my place. Do you think we get onto the hotline to Gnu HQ everytime we have a core dump??

          • by geekmux ( 1040042 ) on Tuesday March 21, 2023 @04:19PM (#63388737)

            Why does your CIO need a support package for a friggin language? We use gcc at my place. Do you think we get onto the hotline to Gnu HQ everytime we have a core dump??

            JRE isn't just something that runs only on the server. When a serious bug comes around that cripples every workstation, your CIO won't give a flying fuck about "open" support at 3AM. They just want to know what the fuck you're ACTUALLY doing about the problem other than waiting on someone to clean the Cheeto dust from their fingers to fix a massive impact to business operations and revenue that will result in your boss being eventually fired.

            One would think you're more interested in self-preservation. You wanna waive that unsupported "open" flag around? Do it at home, not at work.

            • I guess we just operate in different worlds. If something goes wrong at 3AM it's my problem and "I called Oracle and they are looking into it" isn't going to save my job. "Why couldn't you fix it/why don't we have a backup/why isn't there a contingency..." etc. The boss would be on the phone to his colleagues to suggest someone to replace me while I'm still trying to explain how much downtime 5 nines in the SLA really comes to...

            • by Pieroxy ( 222434 )

              This feels like just a lack of experience with the JVM.

              First, Java is mostly a server language and runtime.

              Second, I have *never* had any stability problem with Java in the last 22 years, at least when following reasonable update pace and not jumping on the first release of a new major version.

              Third, if you have a bit of scalability, one server going down does not affect your uptime. So forget about hardware and software support. If it stops working, just put it offline and reinstall / repair the damn thing

              • Third, if you have a bit of scalability, one server going down does not affect your uptime.
                That is most certainly not what "uptime" means :P

                But I concur with the rest of your post.

            • As a CIO myself, I simply cannot rely on employees whose path to resolution is based solely on a support contract. You'd be relegated to simpler positions with less responsibility, so people who can actually solve problems do their work.
            • XYZ isn't just something that runs only on the server. When a serious bug comes around that cripples every workstation,
              And when exactly did something like this ever happen? Or lets cut it down: happen in the recent 50 years?

              A bug that cripples Servers, and Workstations and can not be circumvented by the users/developers on that Workstations?

              I mean: yesterday it worked, today it does not. Can't be so hard to isolate the change and fix / circumvent it yourself.

            • Why does your CIO need a support package for a friggin language? We use gcc at my place. Do you think we get onto the hotline to Gnu HQ everytime we have a core dump??

              JRE isn't just something that runs only on the server. When a serious bug comes around that cripples every workstation, your CIO won't give a flying fuck about "open" support at 3AM. They just want to know what the fuck you're ACTUALLY doing about the problem other than waiting on someone to clean the Cheeto dust from their fingers to fix a massive impact to business operations and revenue that will result in your boss being eventually fired.

              One would think you're more interested in self-preservation. You wanna waive that unsupported "open" flag around? Do it at home, not at work.

              Using tough language without specific cases is hardly "edgy". It sounds like inexperience to me. If Java was that bad, no companies, banks, etc would use it. OpenJDK is a thing with multiple stewards (including IBM, God help us).

          • Right?

            I heard this by the pro Microsoft, anti Linux brigade back in the the 1990s. It was garbage then and it's garbage now. No one makes panicked support calls to someone like that at 3am when prod goes down. Sure you have a bunch of engineers on it trying to figure out the problem which is almost always local, and looking for fixes/workarounds and maybe doing a roll back.

            If you call Oracle over a Java problem you're going to get fuck all in a hurry.

      • by Junta ( 36770 ) on Tuesday March 21, 2023 @03:02PM (#63388513)

        I will confess to not track Java license situation in general, but so long as Oracle are the ones dictating the terms, they've earned skepticism.

        Not that long I was dealing with a company that claimed Oracle shook them down for JRE license fees even though they didn't install any JREs (they say some Oracle tool saw third party software offer up a java web start, and then *assumed* use of JRE on every desktop in their enterprise, without actually detecting JRE.

        Oracle broadly has a reputation for being fickle about how 'open' their open projects are moment to moment, and swinging the wrong way at the wrong time and you end up with an Oracle shake down.

        So it's easier to just avoid "Oracle" business relationship, both explicit business relationship most critically (so they have no leverage to insist on an 'audit'), and also mitigating risk by avoiding open Oracle projects in case they suddenly gain a surprise clause in a revision.

        • With recent changes in license terms, if ANY employee or contractor is found to be using Oracle Java, then license fees are due on behalf of EVERY employee.

          In my view, the safe thing to do in light of this is to scan all enterprise computers nightly to find and remove it if it is there.

      • Comment removed based on user account deletion
    • With Oracle's new licencing, Oracle Java is already dead. Banned at my employer.

      For Oracles Java I can understand. But thankfully there is openjdk, which is gpl + classpath extension.

  • by backslashdot ( 95548 ) on Tuesday March 21, 2023 @02:33PM (#63388419)

    Java was supposed to be write once, run anywhere. Now it's write once, wrong version everywhere.

    • Java had a ton of promise. Now, other than enterprise backend stuff, why bother? If I don't have the right JVM (be it Oracle's or another), the right version, or even the right platform, it won't work.

      If Oracle starts from scratch, changes the licensing, and focuses on what Java was meant to be, as in write once, run anywhere, from a 32 bit ARM or RISC-V CPU to a massive server architecture, it would give long term gains. Bonus points if ZFS were also offered with a BSD or GPL license so it could be an i

    • by Junta ( 36770 )

      About the time JDK 1.1 came out, it pretty much set in stone the reality that every java app gets to bundle their own JRE.

      Despite being a very popular language runtime, it is *rarely* installed directly and almost always just comes in bundled with a Java application, since everyone gave up on the dependency model.

      • That is kind of nonsense, as there is no "dependency" model.

        # java
        starts what ever is either in your $PATH or what ever /bin/java
        is linked to.

        If you are running a backend server and seriously need to have more than one Java on the backend, then fixt your start script and fix the $PATH. Most likely if you use different java versions on the backend you are running different services and those services are running on their own individual users anyway: hence have their own $PATH to begin with. Can't be so hard

    • That is not what is meant by write once, run anywhere. It just means you're targeting a virtual machine, and the virtual machine can run anywhere. It doesn't mean you can target a virtual machine and then use new features and still target the older virtual machine.

      • In my line it's all legacy java I run into and if you could continue to target the old VM with old features I would be okay with it. But thanks to terrible security issues that required hard breakage I find it's close to impossible to get legacy java stuff to run. Keeping old VMs with an old enough OS that it can still run the broken out of date JVM is essential. I don't blame Java for this, vendors pay for software to be developed (badly) once and refuse to update things, and Java needs its security flaws

      • TBH so far the only "write once, run anywhere" languages I've used are golang and rust. Especially rust, which abstracts away the underlying OS specific bits quite a bit better, particularly for things like file permissions.

        Other than a few edge cases, the library maintainers do a pretty good job of making sure that their code works on all of the major platforms. You write your code only once, and then you just compile it where it needs to run. Just distribute a standalone binary, and you don't have to give

    • by Tablizer ( 95088 )

      Indeed! They have a goofed up mechanism for managing versions (or no mechanism). It has our PC support staff grey.

      Why can't the app startup mechanism have a stub that checks to see that the fitting engine version is in place, and if not, prompt for an engine download, or automatically send a message to support staff (based on shop stub config).

      That doesn't seem rocket science. Am I missing something, or is Oracle just lazy?

      Most web browsers refresh themselves without drama.

      Plus, many avoid Java because they

      • Tat is actually how Java on the desktop works.

        It automatically checks if yu have the right version ... so no idea what your rant is about.

    • You seem to have misunderstood. You write Java once, then you run anywhere away from it.

      Stil, it's good that they've done this for the kids what can't program so good.

  • Java has become a bit complicated, with all the stuff it accumulated over 30 years of backward compatibility.

    Perhaps they could release a new major revision of the language (not the VM), leaving behind all the legacy baggage and taking advantage of the lessons learned along the way. Maybe we could have once again a language that could be taught in a semester, as it was the case for the original version.

    • by Tablizer ( 95088 )

      > Perhaps they could release a new major revision...leaving behind all the legacy baggage

      I have giant list of things I'd like to change about C# and Java. If all were added in, the result would be too different to bother calling it C# or Java anymore.

    • by TheDarkMaster ( 1292526 ) on Tuesday March 21, 2023 @03:47PM (#63388651)
      At least once a year someone comes along saying "let's throw out all the old parts I don't like to deal with and redo it from scratch", and then they fail miserably at the "redo it from scratch" because they don't really know what they're doing and doubly fail because now what they created is not able to support the legacy code that worked perfectly fine until then.
      • It's not a matter of throwing away stuff that one "doesn't like", which would be an emotional motivation; Java has three different time and date systems, type erasure, language constructs that can crash your code: it is stuff that is *objectively* bad to have today, and yet you have to learn it in order to understand the language.

        No one has ever tried to write a language that was designed to be the new iteration of Java: all other major JVM languages had very different design philosophies, they weren't de

    • by kriston ( 7886 )

      Isn't that called C#?

      Microsoft did try a smarter Java with Visual J++ and got sued into oblivion by Sun Microsystems. They threw in the towel and developed C#.

      • Wish people would stop talking this crap. Microsoft tried to embrace, extend and stealk Java like they did with everything else, Got used by Sun Microsytems, lost and then invented C#. Sun's view was any java implements had to pass the standard java compliance test, MS as usual their usual tricks and lost. IBM had a version, which had no problems. The whole issue was MS being dicks. They wa Ted Java, but in a way that made it non-portable, tied to the POS OS they call windows.
    • I can agree with you at this point. The new version of Java may have some advantages.The six features officially marked for the release are either in an incubation or in a preview stage. These include scoped values, record patterns, pattern matching for switch statements and expressions, a foreign function and memory API, virtual threads, and structured concurrency. And these updates seem promising to me. Additionally you can read sloboda-studio.com/blog/ruby-on-rails-vs-node-js-which-to-choose-for-a-start [sloboda-studio.com]
    • That happened long ago. See:
      * Kotlin
      * Scala
      * Groovy
      * Dart

  • Get your favorite free (as in speech) and free (as in beer) Java implementation at:

    https://adoptium.net/ [adoptium.net]

    • by kriston ( 7886 )

      Right after I posted that web site I notice it doesn't offer the other OpenJDK alternatives anymore, like:

      Microsoft OpenJDK https://www.microsoft.com/open... [microsoft.com]
      Amazon Corretto https://aws.amazon.com/corrett... [amazon.com]
      IBM Semeru https://www.ibm.com/support/pa... [ibm.com]
      Red Hat OpenJDK https://developers.redhat.com/... [redhat.com] (though I suspect this will merge with IBM Semeru)

      • OK. Here's the problem. Someone in your company, without your knowledge, downloads an app that requires Java, and gives instructions for how to download and install Oracle's version. They follow these instructions. It's a 60,000 person company.

        Now, your company owes Oracle 60,000 licenses.

        Doesn't matter that you're only using one. Doesn't matter that it's against company policy. The fine print in the license the person was supposed to have read says so, and Oracle can buy any court or jury in the worl

  • Lately, I've been able to survive without the JVM even installed, and if I decide to install it for some specific reason, I won't be choosing Sun's version. Sorry Sun, you trolled^H^H^H^H^H^H^Hbought the rights too late. It's already been replaced by fungible freely available and auditable software.
  • Or do we still need to use the older JRE versions?

  • I really liked Java back in the day, and they made good progress.

    Today, I am more exited about new C++ versions than new Java versions.

    This is the list of their big 20th release:
    https://blogs.oracle.com/java/... [oracle.com]

    Some security API changes, some updates to regular expressions, and lots of bug fixes.

    And compare that the the "aging" C++'s version 23:
    https://en.wikipedia.org/wiki/... [wikipedia.org]

    Better compile time functions (through consteval), monadic std::optional (functional programming), multidimensional array operators,

A LISP programmer knows the value of everything, but the cost of nothing. -- Alan Perlis

Working...