Java retrospective #5 – what will change the Java world in 2020?
As 2019 draws to a close, we got in touch with some prominent members of the Java community to gather their thoughts on the events of the last year. In this five part series, we will look at what they had to say. In this fifth and final part, we asked what they thought will change the Java world in 2020.
And finally, a look into your crystal ball – what will change the Java world in 2020?
JDK 14 is expected to bring very interesting new features, even though some of them will be in preview. I am very curious to see how developers will use records (JEP 359) and pattern matching for instanceof (JEP 305). The improved NullPointerExceptions (JEP 358) will make debugging much easier, and the packaging tool (JEP 343) is already useful in some projects.
Tim Zöller – Team Leader Java, ilum:e informatik AG
With new language options like “Pattern Matching for instanceof”, “Switch Expressions” and “Text-Blocks” the daily Java code, as well as code you find in libraries, will look a bit different than it did in previous years. This will certainly be a challenge for many traditional Java developers. Java will also gain in attractiveness thanks to improved support for ahead-of-time compilation and native-image generation for serverless environments.
Thomas Darimont – Founder of Java User Group Saarland and Fellow at codecentric AG
Oh wow, I’m usually better at making predictions based on the past. I don’t see much change, but that doesn’t mean nothing is happening. It’s just that there are a lot of small changes here and there, so that after a year we’ll know the difference when we really have to look at the code we write in December 2020 and compare it with code we write right now to see how the world has changed.
Jens Schauder – Spring Data team, Pivotal
For 2020 I expect – as I have observed for more than 3 years now – a different way of dealing with databases. In 2016 I started giving lectures about SQL and other declarative query languages. Meanwhile many – even well-known voices – have taken up this canon and we see more and more tools and frameworks that do not treat databases as second-class citizens even on the JVM.
Michael Simons – Java Champion and Spring Data Team, Neo4j
GraalVM is going to rock, on servers, on desktops, and on mobile/embedded. With Gluon Substrate, GraalVM on mobile and embedded will bring Java as a first-class, high performant, cross-platform solution back to where it belongs: on all kinds of mobile and embedded devices. The current status and direction of OpenJDK and OpenJFX allows this to become a mature and maintainable solution.
Johan Vos – Java Champion, co-founder Gluon and LodgON
Well, the Java world has constantly been evolving over the past 20 years, and 2020 will be no different. For instance, I’m looking forward to Hibernate 6. And, now that R2DBC (Reactive Relational Database Connectivity) has reached the 1.0 version, I’m looking forward to how reactive programming is going to shape the Java data access strategies by opening the door for a new class of data-intensive applications.
Vlad Mihalcea – Java Champion and author of High-Performance Java Persistence
SEE ALSO: Java 14 update news
I’m still hoping for the first previews of Valhalla. Just like records, inline classes (or whatever they’ll be called), will change everything in how we work with the Java language and the JVM.
Lukas Eder – Java Champion and Founder and CEO at Data Geekery
Well we’ll get Java 14 (with aforementioned Switch Expressions, and previews for Records and Pattern Matching, and I’m looking forward to trying both) and Java 15. But beyond Java-the-language it’s becoming increasingly important to understand the bigger picture, particularly with regards to deployment/running/debugging (e.g. in the Cloud) and security. With Cloud & Microservices being very much the default choice for implementation, it’s important developers understand what this means for their Java applications.
Trisha Gee – Java Champion and Developer Advocate, JetBrains
I’m making a bet on a few things:
- More and more people will be adopting reactive technologies for their Microservices, especially now that we have RSocket and R2DBC.
- The next year will be dedicated to even more active competition between web-frameworks in the area of FaaS. Fast startup, low memory footprint, small bundle size, is what every framework aims to give to the user. I’m expecting competition to really heat up next year.
- QUIC and HTTP/3 and appearance of support (experimental support) in Java, that will make more and more people pay attention.
Finally, and not entirely related to Java world, but Quantum Computing. I’m not an expert in the field, but I’m predicting that something will happen in that area next year that will affect the Java World as well.
Oleh Dokuka – Java Champion and Principal Engineer / Dev Rel, Netifi
Two things, firstly two more releases of the JDK. JDK 14 is looking like an exciting one with records (finally!), pattern matching for instanceof and helpful NullPointerExceptions (yes!) Secondly, I expect to see Jakarta EE deliver more changes focused on the enterprise side of Java, making developer’s lives easier.
Simon Ritter – Java Champion and Deputy CTO, Azul Systems
For the Java language we can look forward to two more versions, 14 and 15. Both will again contain a lot of new features that will help us in our development. Since neither of these are LTS versions, we don’t expect to see much movement until 2021 with JDK 17. Apart from that, a lot will happen with Graal and the support of frameworks. Especially here I hope for bigger jumps to switch to Graal without hesitation.
Michael Vitz – Senior Consultant, innoQ Deutschland GmbH
With Java 14 comes some cool new stuff. Personally, I’m especially excited about records. Even though with Java 14 they are only available as a preview for now. Besides that, there is also a lot going on in the area of GraalVM. In my opinion, there will be a lot happening next year. It is also interesting to see how Project Skara and the switch to Git will continue. It will be interesting to see whether further workflows or tooling will be converted to work on OpenJDK. OpenJFX, as a smaller project of the OpenJDK, is already testing the stronger integration of Github by using pull requests and the like. In my opinion, this will create interesting opportunities to reduce the entry hurdle for working on OpenJDK.
Hendrik Ebbers – Java Champion and Java developer, Karakun AG
I believe that more than we have noticed so far, the issue of operations is becoming more present in all areas of development. Including topics such as SRE in a profitable and meaningful way will certainly be a great challenge that offers many opportunities and new possibilities.
Johannes Unterstein – Java User Group Kassel organizer and Distributed Applications Engineer, Mesosphere
With the performance improvements of GraalVM and the potential to advance into the field of embedded & mobile technology, the Java landscape could change fundamentally.
Wolfgang Weigend – Systems Engineer Java Technology and Architecture, Oracle
It’s tough to say. I live ever on the proverbial edge in my role on the Spring team. The things I most appreciate today don’t trickle down to industry for a year or two or more. I suppose I’d need to revisit those things we felt would most change the world at the end of 2017 or 2018 to see what’s going to have a meaningful impact on the Java ecosystem today.
As always, Java itself is very mature, so I very much doubt that the significant changes will come from within the technology and its ecosystem. Instead I suspect the changes will be about how the JVM ecosystem adopts to external stimuli. Containers, the de-facto standardization of Kubernetes, the increased awareness around continuous delivery and microservices, etc., will all have a more substantial impact on Java developers and their workflows than Java or the JVM themselves. But that was also true in 2018, wasn’t it?
Josh Long – Java Champion and a Spring Developer Advocate, VMware