Java is Dying
Stop Using and Teaching It
Update: Found this amazing write up from a long-time Java advocate describing the details of why I so profoundly believe everyone should just stop with the Java.
I just completed the color effects module for REPL.it (so students forced to code in Java at schools that require it can at least incorporate color into their text-based projects, which compile slower than all the other languages so far, by the way) and was reminded of just how bad Java syntax is. Then I tried to quickly download Java onto a system here to compile a class. I had to go to Oracle’s site where I got to read this rant about NPAPI support being dropped in Chrome including the very serious recommendation that I drop Chrome (hands down the leading web browser) and use MSIE (not Edge) or Safari (pfffhahaha) instead:
Then I researched the state of NPAPI and all the problems with it. That was when I read that Microsoft has dropped all NPAPI support in Internet Explorer since 5.5 and none in Edge “for security reasons.” From the way Oracle describes it in their statement you would think that Chrome and Google were doing a bad thing by dropping something that “has been supported by all major web browsers for over a decade.”
The sheer cluelessness Oracle demonstrates in that statement is astounding.
Oracle Won Against Google
Oracle (like all dying companies that cannot keep up on competitive merit) is following in SCO’s footsteps as the modern patent-troll suing Google literally months after buying Sun Microsystems based on violation of what Sun promised the world would remain an open Java API. Here’s the terrifying part, Oracle recently won on appeal. This has chilling consequences since it means that people can sue after releasing “open APIs” and encouraging people to use and critically adopt them, that the API definition itself is proprietary and carries licensing considerations where no license-granting vehicles exist.
Why would any organization want to encourage this let alone place themselves at real risk of becoming an Oracle target?
Java is the Modern COBOL
At the risk of offending many amazing Java and COBOL programmers I am going to suggest that Java—despite it’s descending but high TIOBE ranking and core place within Android—is dead technology. The strict single inheritance model has been widely viewed as a bloated failure even by the language’s creators.
JVM Still Risky
Clojure and other modern languages leverage the deployed JVMs of enterprises to maintain some sense of modern architecture, but they maintain a core dependency on Java and Oracle. Most organizations simply do not see the danger this poses.
Oracle is a failing company by every indicator having lost to Amazon, Google, Apple, Microsoft, IBM, and PostgreSQL. Nothing Oracle does is the best of its breed. It has failed to position itself at all in the IoT, AI, deep learning, and even (ironically) the data science space. It is just a matter of time before the core dependencies many corporations have on Oracle software fade into oblivion along with its market cap and user base. You can bet Google is working as fast and hard as it can to remove any Java dependency in Android.
Stop Teaching It
The fact that the entire AP Computer Science program is based on Java is more than disconcerting given these facts. Worse is the reality that no one at College Board or anywhere else is talking about a replacement. Instead they continue to teach failing, deprecated computer science models and approaches including absolute insanity (such as list indexing beginning with 1). Something must be done—no matter how unpopular—to overcome those in control who have heavily invested in this dying language.