JavaRush /Java Blog /Random EN /How Java fared in 2017

How Java fared in 2017

Published in the Random EN group
2017 has already become history, and now is the time to stop for a moment and look at what events and changes have happened in the world of Java over the past twelve months. During this time, a lot happened: from the drama with Project Jigsaw to the delay in the release of Java 9 - in general, we saw everything.
How Java lived in 2017 - 1

January

Java welcomed 2017 with a lot of different events. Jeff Luszcz went through a number of problems with using “free” Java software, in particular, the “non-free” nature of the JRE, which is not obvious to Java SE users, as well as the potential danger of uncontrolled use of open source code in one’s projects.
How Java lived in 2017 - 2
The transition of MVC 1.0 to community control has begun. The addition of TensorFlow 1.0 support has made it easier for Java users to implement and use machine learning. Kotlin 1.1 received support for JavaScript and the JVM, and also introduced everything necessary to work with the upcoming Java 9. And at this time, a new truly functional programming language appeared in the JVM world - Lux .

February

Java-micro has appeared , a new framework designed to make it easier to create microservices in Java. JHipster 4 was announced with support for Angular 2 and other innovations. The new globally distributed, highly scalable, multi-version NewSQL DBMS developed by Google, Cloud Spanner , has reached beta status and received full Java support.
How Java lived in 2017 - 3
At the same time, litigation continues between Oracle and Google regarding the Java API, with no end in sight.

March

Of course, the biggest news of the month was Angular 4 . However, no less interesting was the opening of the NASA program catalog for everyone.
How Java lived in 2017 - 4
IntelliJ IDEA 2017.1 has been released with support for Java 8.

May

What do you remember about May? Readers were mostly concerned with news from the TIOBE index showing that Java had stepped onto a downward slope, although it still held the leading position (and still does). However, for most of May, the news was dominated by the drama surrounding Java 9. The community was torn by disputes over changes proposed in JDK 9 and Project Jigsaw, which later became the most important part of Java 9. On voting day, a number of participants did not want to vote for Jigsaw , so We’ll move the release date of the “nine” as soon as possible. In other news, the father of Java, James Gosling, has entered into a joint venture with AWS.
How Java lived in 2017 - 5
Among the Eclipse news was a preview of Eclipse Oxygen , which showed significant improvements in usability and work environment in Sirius.

June

The big news this month includes the announcement of the official release date for Java 9. It's now September 21st. Georges Saab explained why this delay does not change anything in the status of Project Jigsaw.

July

JetBrains, the parents of our beloved IDE IntelliJ IDEA 2017.2, did not delay until the official release of Java 9, but released it on schedule, implementing support for the new version of the language in advance. They did the same with JPMS (Java Platform Module System) - the platform was updated on schedule.

August

More news about Java 9 is slowly bringing us closer to the release date. And a solar eclipse in the real world made it into the TOP 5 posts about Eclipse IDE based on August results (the fact is that the word “eclipse” is translated as “eclipse”).
How Java lived in 2017 - 6

September

The release of Java 9 and Java EE 8 showed that all the delays were worth it. After much turmoil with the release of Java 9, Oracle proposed returning to the old release model of two releases per year . Spring Framework 5 was released to great fanfare . Java EE has officially moved to the Eclipse Foundation, and IBM has open sourced its own JVM.

October

The flow of news about Java 9 does not stop. At this time, numerous opinions about modularity are circulating on the Internet. Thus, Rabea Gransberger strongly recommends that developers become more familiar with modules, and Simon Ritter emphasized that “JDK 9 did not bring big innovations for developers, the main goal was to make the environment modular.” According to Nicolai Parlog, "Java 9 can do for modularity what Java 8 did for functional programming." However, Lukas Eder insists that "Jigsaw will not be in demand by users for some time, since Maven and OSGi already exist."
How Java lived in 2017 - 7
Gradle received support for Java 9, and JDK 18.3 Early Draft Review became available for download. "The State of the Octoverse" confirmed GitHub's love for JavaScript, Python, and Java.

November

As part of an initiative to speed up the development cycle, Oracle announced that "most milestone releases should contain at least one or two notable improvements." Also this month saw the release of Javalin , a lightweight web framework for Java and Kotlin users, and Apache Kafka , which has been in development hell for an appallingly long time. It also turned out that most of the original code on GitHub was written in Java.

December

The closer we get to the end of the year, the fewer major news there are. Oracle announced that the next version of Java will be called JDK 10. Thank you, KO!
How Java lived in 2017 - 8

2018 and beyond

What's in store for Java in the coming year? Well, according to Oracle's new schedule, the next release should be ready in late March or early April 2018. Most likely, the new functionality in Java 10 will be represented by developments that are currently in the JEP in the “Targeted” or “Proposed to Target” status. At the moment it is:
  • Local-Variable Type Inference is a proposal to introduce the var keyword into Java, which would eliminate the need to explicitly specify the type of a local variable.
  • Combining the JDK “forest” into a single repository (currently there are eight of them - root, corba, hotspot, jaxp, jaxws, jdk, langtools, nashorn).
  • Garbage-Collector Interface (improving source code isolation of various garbage collectors using an interface to Garbage Collector).
  • Parallel Full GC for G1 . In JDK9, G1 became the default garbage collector, whereas previously the base collector was Parallel GC, which also had a parallel full garbage collector, but G1 did not. It is proposed to make the full garbage collector for G1 also parallel.
  • Application Class-Data Sharing - This work proposes to improve loading and tracking, extending the existing Class Sharing (CDS) feature to allow application classes to be located in a common archive.
  • Thread-Local Handshakes - Proposes a way to execute a callback across threads without running a global VM safety point. A simple way to stop individual threads, rather than all of them (or none at all).
However, only time will tell what will actually happen. And despite all the twists and turns, it's been a great year for Java, and we're looking forward to what next year will bring!
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION