Oracle's Plan to Keep Java Developers from Leaving for Rust and Kotlin (zdnet.com) 90
ZDNet reports:
Oracle has released version 15 of Java, the language created 25 years ago by James Gosling at Sun Microsystems, which Oracle snapped up in 2009 for about $7.4bn to gain what it said was the "most important software Oracle has ever acquired". Java 15, or Oracle Java Development Kit (JDK) 15, brings the Edwards-Curve digital signature algorithm, hidden classes, and former preview features that have been finalized, including text blocks, and the Z Garbage Collector, while the sealed-classes feature arrives and pattern matching and records emerge as a second preview...
In July, Java fell out of RedMonk's top two positions for the first time since 2012 and now resides behind JavaScript and Python in terms of popularity. Tiobe in September ranked Java in second position, behind C and ahead of Python.... But Java is still hugely popular and widely used in the enterprise, according to Oracle, which notes it is used by over 69% of full-time developers worldwide... It counts Arm, Amazon, IBM, Intel, NTT Data, Red Hat, SAP and Tencent among its list of notable contributors to JDK 15. Oracle also gave a special mention to Microsoft and cloud system monitoring service DataDog for fixes...
As part of Java's 25th anniversary, Oracle commissioned analyst firm Omdia to assess its six-month release strategy for Java and whether it would be enough to keep millions of Java developers away from memory-safe alternatives such as Kotlin, the language Google has endorsed for Android development, and Rust, a system programming language that was created at Mozilla. "In Omdia's opinion, the work Oracle began a few years ago in moving to a six-month update cycle and introducing a new level of modularity, puts the vendor in good stead with its constituency of approximately 12 million developers," Oracle said in its report on Omdia's analysis.
"However, Oracle and the Java programming language need an ongoing series of innovative, must-have, and 'delightful' features that make the language even more user friendly and cloud capable. These will keep existing Java developers happy while steering potential Java developers away from newer languages like Rust and Kotlin."
In July, Java fell out of RedMonk's top two positions for the first time since 2012 and now resides behind JavaScript and Python in terms of popularity. Tiobe in September ranked Java in second position, behind C and ahead of Python.... But Java is still hugely popular and widely used in the enterprise, according to Oracle, which notes it is used by over 69% of full-time developers worldwide... It counts Arm, Amazon, IBM, Intel, NTT Data, Red Hat, SAP and Tencent among its list of notable contributors to JDK 15. Oracle also gave a special mention to Microsoft and cloud system monitoring service DataDog for fixes...
As part of Java's 25th anniversary, Oracle commissioned analyst firm Omdia to assess its six-month release strategy for Java and whether it would be enough to keep millions of Java developers away from memory-safe alternatives such as Kotlin, the language Google has endorsed for Android development, and Rust, a system programming language that was created at Mozilla. "In Omdia's opinion, the work Oracle began a few years ago in moving to a six-month update cycle and introducing a new level of modularity, puts the vendor in good stead with its constituency of approximately 12 million developers," Oracle said in its report on Omdia's analysis.
"However, Oracle and the Java programming language need an ongoing series of innovative, must-have, and 'delightful' features that make the language even more user friendly and cloud capable. These will keep existing Java developers happy while steering potential Java developers away from newer languages like Rust and Kotlin."
Self created problem. (Score:5, Insightful)
Google would still be recommending Java for Android development if Oracle didn't sue them.
Has there ever been an issue where both parties didn't suffer once lawyers got involved?
Re: (Score:2)
It's deeper than that. I'm in communication with a Java expert, and he states that the current Java license prohibits commercial use.
This alone will gradually make the language less attractive to other languages that fill similar objectives that are free for commercial use. (e.g. C#) They may be keeping around OpenJDK for that purpose.
Then there's the managers who suggest using the language-de-jour simply because it's the current buzzword - without regards to whether or not it's productive enough to do the
Re:Self created problem. (Score:4, Funny)
I hope you are not paying this "expert".
Re: (Score:1)
It's deeper than that. I'm in communication with a Java expert, and he states that the current Java license prohibits commercial use.
Yeah I'm going to go ahead and revoke his "expert" card.
Comment removed (Score:5, Informative)
Re: (Score:1)
Re: (Score:1)
Some people thrive in a piranha eat piranha office environment. We call those people "Sociopaths"
Re:Self created problem. (Score:4, Interesting)
Most organizations have not left java7 yet and probably never will due to licensing according to my employers IT department.
The point whether it is technically free is mute, if there is a fear of liability for not paying outrageous fees to Oracle. Just look at Google who did not EVEN USE JAVA for Android. The compiler was a 100% clean room compiler with not ONE LINE of Oracle code. Yet Oracle sued AND WON.
Wine now is owned by Microsoft by definition of this court case as the table of contents and methods used to access an API is owned even if you wrote it yourself.
So screw Oracle as they are not trust worthy and can sue you anytime they want for licensing fees and damages for using free software they don't own thanks to our court system and have shown they are evil sharks.
With another language you do not have this problem. As a community of software folks we should let Java die a horrible death in purgatory with COBOL for legacy stuff.
Re: (Score:2)
The point whether it is technically free is mute ...
For future reference, the phrase should be "is moot".
Re: (Score:2)
I agree. Java should just be left behind and never spoken of again.
Re: (Score:1)
Re: (Score:2)
You don't actually have to manually install OpenJDK. There are installer versions of it available. My favorite is bellsoft:
https://bell-sw.com/ [bell-sw.com]
You don't get an auto-update so you have to update by hand, but the installer does not require manually setting much of anything that I can remember.
Re: (Score:2)
You don't actually have to manually install OpenJDK. There are installer versions of it available. My favorite is bellsoft:
https://bell-sw.com/ [bell-sw.com]
You don't get an auto-update so you have to update by hand, but the installer does not require manually setting much of anything that I can remember.
Just install and upgrade it with apt-get or whatever your distro supports.
# apt-cache search openjdk ...
openjdk-11-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-11-doc - OpenJDK Development Kit (JDK) documentation
openjdk-11-jdk - OpenJDK Development Kit (JDK)
openjdk-8-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-8-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-8-doc - OpenJDK Development Kit (JDK) documentation
openjdk-8-jdk - OpenJDK Development Kit (JDK)
Re: (Score:2)
Of course that is no good for windoze users, but yeah that works too. Bellsoft is handy for windoze installations.
Re: (Score:2)
Do java program exclusively developed on Windows still often refuse to run on Unix because of bad file name capitalization often done by developers? a file named myClass.class used to run on Windows while on Unix the file needs to be called MyClass.class...
Re: (Score:2)
God I hope not.
Re: (Score:1, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
.NET had nowhere near the platform independence of the JVM
Re: (Score:1)
Re: (Score:2)
There are a lot of JVM ports and clones out there, far more Han .NET. I'm sorry, it just ain't the same. Anyone looking at platform independence isn't looking at .NET
Re: (Score:1)
Re: (Score:2)
> and will soon become reduced to a function of supporting dilapidated enterprise applications but the world is moving on
Wait, you're telling me there are Java people that _aren't_ doing this?
Re: (Score:3)
Having used both Java and C# for desktop and server programming, I find any benefits the latter has, on a purely syntactic level, over the former to be purely personal opinion, while the former's benefits over the latter are more pronounced. The most significant of them all is that I can run the exact same Java binaries on Linux, Windows, and Mac.
Being able to build once and run on all supported platforms (we don't support Mac) is a HUGE benefit that would require a HUGE paradigm improvement in some alterna
Re: (Score:1)
Re: (Score:2)
This seems like splitting hairs compared to (for example) using F# or Scala, both of which are infinitely better than strai
Re: (Score:1)
> But C# is a much nicer language, and Microsoft is, bizarrely ... more trustworthy than Oracle
It's more than this, it's not simply about trust. C# and .NET are simply legally safer platforms to do business on than Java and the JVM.
C# is an ECMA and ISO standard, that means anyone is free to build their own tools for consuming the language, this means you simply don't have the problem with C# that you had with Java on Android when Oracle sued.
Furthermore, the version of .NET that is now mainline going fo
Re: (Score:2)
Based on what he works on or has been exposed to (back-end developmenr or DevOps), he's likely needing to use the Oracle Java SE, rather than the OpenJDK. He could go for the free version, but as he deals with enterprise software, there may be subtle differences in VM responsiveness. They might even need a support contract, which might not be available with OpenJDK.
Whether or not he's confused, he's still impacted by a commercial use license.
Re: (Score:1)
Re: (Score:3)
And that's what I believe will happen.
Re: (Score:3)
Rust isn't a replacement for Java, Unless Rust can be compiled to an vm/bytecode environment such as JVM that has been ported to every platform ever.
Also Rust doesn't have classes, among many many other features. The whole point of the language is to not have any features that inflict a cost when unneeded(such as class vtables for virual functions). Personally I don'
Re: (Score:2)
Java is getting long in the tooth, but Kotlin is concise to the point that it's almost as unreadable as Perl. I prefer Scala
Re: (Score:2)
The movement has started.
Java -> Kotlin
C# -> F#
Perl -> Erlang ?
Re: (Score:1)
Re: (Score:2)
C# to F# is a pretty natural transition that is worth to look at. I think it's a good idea to look at starting to consider F# for part of the design.
The last one Perl to Erlang was mostly a joke. Therefore the question mark.
Re: (Score:2)
Re: (Score:3, Interesting)
Rust is only better than C++ (Score:2)
It lacks real garbage collection, which is the key to Lisp/Java/.Net. Also not Git.
Re: (Score:1)
It lacks real garbage collection, which is the key to Lisp/Java/.Net. Also not Git.
Lacks GC, so what? Which is the key... that is a dubious statement. Also not Git... it is not clear what you mean here.
Re:Self created problem. (Score:5, Funny)
Has there ever been an issue where both parties didn't suffer once lawyers got involved?
Well... there was this one time when I was with a group of big game hunters in depths of Africa. As we sat around the campfire we talked about how unsatisfying the hunt was and how we needed better, smarter prey. Someone made the suggestion that hunting a hunter would be much better and I asked, "like one of us, a human?" and he said, "well, no... but now that you mention it." There was a long pause and nervous glances before one chap chimed in, "well, it's a silly idea, it's illegal" and another insisted, "surely there is some land where it's legal," and the first chap replied, "I'm a lawyer and I'm certain I would have heard about it if it was." The next day we all agreed and gave the lawyer a 30 minute head start.
Re: (Score:3)
Google would still be recommending Java for Android development if Oracle didn't sue them.
Has there ever been an issue where both parties didn't suffer once lawyers got involved?
Lawyers in the US are basically a malicious parasitic life-form. (With rare exceptions.) Their main purpose is to suck money out of everything and do lots of collateral damage.
Re: (Score:2)
Oracle bought Sun for the purpose to blackmail Google as they were all crying they lost the mobile wars with their java2me based OS that never came to fruitation.
Since executives didn't want to get fired due to Sunken Cost fallacy they figured they could use the left over billion for the project to buy out Sun so they can sue Google and get money off each phone even if Android does not use a single line of Java code. The compiler was a clean room implementation for Apache which makes this so bullshit.
So Goo
Re: (Score:2)
"The first thing we do, let's kill all the lawyers"
Re: (Score:2)
Re: (Score:1)
Re: You know what's going to be hilarious? (Score:2)
Fuchsia also has Rust support. Some of the ancillary components are done in Rust.
In it's current state, there is zero chance of Fuchsia going anywhere.
Java (Score:3, Funny)
Re: (Score:2)
Yep. This is one heavy to handle abomination. Also syntactic clutter to the extreme.
If their plan doesn't include stopping... (Score:2)
Re: (Score:3)
You know I prefer the BSD license and FreeBSD personally. One of them is I believe it is immoral for individuals like RMS to dictate what someone wants to do with their own software and BSD/MIT allow just that rather it can stay opened, cloned, or extended. FreeBSD has been more friendly and many companies like pfSense have donated code back and used it.
However ... I am changing my opinion a little when it comes to languages and standards. RMS is right in one area when it comes to shit like Java. Organizati
Re: (Score:2)
COBOL had serious design defects that made in impractical as computers became more sophisticated - it remained stuck in an obsolete age that became increasingly evident as time went on.
Java, technically speaking, is a damn awesome language. When Java 1.2 came about, a lot of the kinks had been worked out with regards to the incompatibility that you mentioned, and going forward, had largely ceased to be an issue. By the time they had gotten to Java 1.4, its feature set had grown considerably, and it was
Re: (Score:2)
Re: (Score:2)
The point is that COBOL *did* have such defects.... well into the 1980's, in fact. It is true that later iterations of the language attempted to make it more amenable to usage on modern computing platforms, but by the time they did this, it was too late... It's fate was sealed by the turn of the century.
I learned COBOL in college in the 1980s, and it was this singular most horrible experience I had with any programming language - with the compiler at the time treating file input from the hard disk exac
Introduce a fee for "alternative languages" (Score:2)
Re: (Score:2)
Starting tomorrow, every Java developer will have to pay a fee to Oracle if they switch to another language. The fee consists of: 1 leg, 1 arm. You are allowed to choose which.
The arms and legs that I harvested from Larry Ellison are in the mail . . .
Re: (Score:2)
... and that doesn't include the Oracle RDBMS license whither the developer/organization needs it or not
Whaaaa (Score:2)
I wanted a java phone but I started development 8 years late and Android is being mean to me by beating me fair and square ... crieeesss.
I will now sue Google to force them not to use my product so I can't capitalize at all on my tools that Sun agreed to do. Whaaaat? They are no longer using my product and companies don't want us to sue them for licensing fees so are using other competitors ... whhaaa.
Pathetic.
Java is dead outside for Oracle related SAP shitware in the ERP space or crufty legacy stuff. No o
Re: Whaaaa (Score:1)
carefully ruined (Score:5, Interesting)
After Oracle has carefully ruined absolutely every piece to technology obtained from Sun they are now finally realizing:
People don't like Oracle.
People don't trust Oracle.
People don't need Oracle.
Oracle did this all to themselves. With blind greet, ignorance and bullheadness one can sink every ship.
Why does Oracle not want Kotlin users? (Score:2)
Kotlin users get more developers using the JVM, so it should be a net win for Oracle. So why are they against developers jumping ship to Kotlin?
Re: (Score:2)
Kotlin users can use an OpenJDK JVM without license restrictions.
Re: (Score:2)
Re: (Score:2)
Also true. At that point it's just a matter of which language you prefer.
Well, given that java is crap (Score:1)
But "Kot"lin literally has "crap" (In German) right there in the name and Rust is nowhere near as great as it proponents claim and you have to accept an SJW agenda, I think this is a shit-show all around.
Better go for something else entirely. Or maybe this is what this specific subgroup of developers crave? There is no accounting for taste...
GraalVM (Score:2)
What will prevent a Rust exodus (Rust isn't a viable enterprise alternative for Java except for micro-services), in so far it exists at all, is GraalVM.
It has the potential to be the next generation platform with its polyglot features.
It generates native executables with low memory and disk footprints (at least in a container sense) and does not use the JVM.
Java developers aren't looking to think about any memory management, even with the safer borrow checker in Rust; and any of the functional advantages of
Way to ignore the .Net platform there, Oracle... (Score:3)
It's not just Rust or Kotlin. C# is very Java like, is rapidly doing well cross platform and you get some nice enterprise APIs (e.g. EF Core for SQL databases). Oh, and a very effective set of non blocking APIs and language features. Java futures are just a nightmare compared to async/await and their related APIs.
And the reactive library is excellent (after all, Rx .Net existed before RxJS, RxJava) if that is what you like. Finally, you need some some extra functional horsepower, F# is right there. And no, I don't work for MS, just used their stuff.
I know somebody is going "but MS is evil, sucks, blah, blah", but lately, not so much. Also, as being compared to Oracle? Nobody is buying that Oracle is the lesser of two evils here.
Java has legacy, and it has trapped big companies in a bind (Amazon and Google still have to right way too much Java code) and it will go nowhere fast, but increasingly, it will be resented more and more.
Re: (Score:2)
I understand the desire to use a library optimized for event-driven dataflows, but the collective delusion that some people have that the Rx libraries are somehow "good" or "excellent" has me puzzled. Those implementations seem to be a collection of stateful transformers that make it almost impossible to effectively reason about code without memorizing the minutiae about how each component in t
Too much change, too fast (Score:2)
Personally, I find having changes published every 6 months annoying. Especially since a lot of the changes are just gratuitous. How many variations of "switch" syntax do we need? Really? Yes, some of the original Java syntax was suboptimal. But the chaos engendered adding new syntax while preserving the old just isn't worth it. Stability and simplicity are important attributes of a language.
The Oracle licensing idiocy doesn't help. The Oracle license no longer has an exception for educational institutions.
Re: (Score:2)
Re: (Score:2)
The biggest problem I see with with Java... (Score:2)
What a piece of shit (Score:1)
Re: (Score:2)
Yeah, its really amazing that at least when it comes to building a GUI, the 90s technology is more streamlined than one in 2020. .NET experience is not bad though; it was designed by the same guy.
If you just use WindowBuilder and SWT (without even JFace), it's not bad to pull together a native looking GUI quickly in Java. But the ease hits the limits fast.
Personally, I prefer Lazarus with Python4Delphi. So many third party widgets. Nothing of the sort in Java even when it dominates.
Rest of programming has a
Becoming version agnostic would help (Score:2)
Too many people are stuck at Java 8, simply because if they try and upgrade, then thereâ(TM)s a world of hurt out there.
But, pretty much any language (but not so much in C recently) has this as a feature.
I do wonder if it is possible for a language to be made version agnostic.
Re: (Score:2)
I'll just quote taoup [catb.org] :
As the writer, adventurer, artist, and aeronautical engineer Antoine de Saint-Exupery once put it, writing about the design of airplanes: La perfection est atteinte non quand il ne reste rien a ajouter, mais quand il ne reste rien a enlever. ("Perfection is attained not when there is nothing more to add, but when there is nothing more to remove".)
Ritchie and Thompson lived by this maxim. Long after the resource constraints on early Unix software had eased, they worked at keeping C as thin a layer over the hardware as possible.
Dennis used to say to me, when I would ask for some particularly extravagant feature in C, "If you want PL/1, you know where to get it". He didn't have to deal with some marketer saying "But we need a check in the box on the sales viewgraph!"
-- Mike Lesk
dbForge Studio (Score:1)