Java – legend in Programming languages completed 25 years. Two crucial Java releases this year were Java 14 and 15. Let’s see what features they individually introduced.
Java 14 – attributes like pattern matching for instanceof, a packaging tool, NUMA aware memory allocation for G1 etc. and stuff.
Java 15 – developer productivity enhancements like the Edwards-Curve Digital Signature Algorithm (EdDSA), hidden classes, and text blocks.
According to sources (Wiki and others : )
The latest version is Java 15, released in September 2020. Java, being an Open Source platform has many distributors, like Amazon, IBM, Azul Systems and many others with free and commercial support distributions (Amazon Correto, Zulu, AdoptOpenJDK, Liberica, etc.), but regarding the Oracle distribution, Java 11, is the currently supported long-term support (LTS) version (“Oracle Customers will receive Oracle Premier Support”), released on September 25, 2018. Oracle (and others) “highly recommend that you uninstall older versions of Java, because of serious risks due to unresolved security issues. Since Java 9 (and 10) is no longer supported, Oracle advises its users to “immediately transition” to Java 11 (Java 15 is also a non-LTS option). Oracle released the last free-for-commercial-use public update for the legacy Java 8 LTS in January 2019, and will continue to support Java 8 with public updates for personal use indefinitely. Oracle extended support for Java 6 ended in December 2018. A major recent change in the Java ecosystem was the loss of support from Oracle. In 2019, Oracle changed its Java licensing model so that only companies with a paid commercial Java subscription would receive updates to Java SE. This change caused 80% of the Java community to start considering other support options.
According to a survey conducted by Azul Systems in February further clarified that preferred use of Oracle JDK dropped from 70% to 32%. A vast majority of users shifted to free or supported OpenJDK-based deployments of Java.
According to sources another change in the Java community this year was the news that OpenJDK contributor BellSoft was teaming up with VMware to improve OpenJDK. At the time this was announced, the main areas for improvement were to enhance support for ARM processors and optimize Java for cloud deployments and microservices architectures.
In view of all above most programmers and developers shifted to Python which is the fastest growing programming language having 10 times vast library than JAVA. Python also supports in web development, building server side APIs, PC applications etc. much efficiently than java. Python is becoming favorite language of developers given its easy to understand syntax where even a layman can start coding with just a little push. Code readability and formatting is much easier in python, there is no licensing is required in Python, much can be accomplished in just a few lines of python code while in java developers keep writing even for a small logic.
Although if we talk about whitespaces, Python sees it as a syntax while java ignores it which makes developer to type hassle free in JAVA. But whitespaces makes python code more readable and cosmetically arranged.
The Python code is always shorter than the Java code both in terms of letters or lines, length as well as width, a significant difference seemingly visible even to closed eyes. It adds up when we write bigger codes. Much of the variance is due to nil closing braces. But Python’s concision when related with Java goes deeper.
Now both the languages Java and Python gets compiled into bytecode first, bytecode being the code which runs in virtual machines making the language platform independent and separates code from variances seen in different operating systems thus making the languages cross-platform. But there’s a grave difference. Python compiles code at runtime, while Java compiles it in advance, and distributes the bytecode. Thus JAVA has an edge here as most JVMs perform (JIT)just-in-time compilation to programs as a whole, which significantly improves performance. Mainstream Python doesn’t do this.
There are pros and cons but developers need to be provided a language which is open source in terms of libraries, updates, versions anything else they will in no time start development in different environment and tweak it to their purposes to avoild negative efficiency (nefficiency) in coding world.