Java in 2020, Part 1: What To Expect, According to the Experts
MORE ON THIS TOPIC Java in 2020, Part 2: Anne Thomas on Java Subscription, Jakarta and MicroProfile
Wait, what? Java's not dead? Irrelevant? Replaced by Kotlin? Python? (Swift?)
Nope. Java weathered the predictions of its demise yet again, and though it missed being named TIOBE's programming language of the year for the second year in a row (good old C earned that title, which tells you something about this Who's the Most Popular dance), it remains one of the world's most valuable and widely used languages and platforms.
Once the holiday dust has settled and the annual prediction parade has rounded the corner, I like to get a few comments from Java community leaders and industry watchers about where we've been and where we're going in the coming year -- especially now, as we start a new decade (or end an old one, depending on how picky you are about when we started counting).
Heather VanCura, chair of the Java Community Process (JCP), sees 2020 as the year developers and vendors, now fully adapted to the faster Java release cadence, take full advantage of the more incremental release schedule.
"I spent a lot of my time in 2019 demonstrating, teaching and working with developers and teams about the practices they can implement to take advantage of all the new things happening in Java," VanCura said. "With the more incremental releases, they have a chance now to learn and study some of the smaller innovations that get missed in the bigger releases. Java 9, for example, had hundreds of new features, but everyone focused on modularity. The more digestible releases give people the opportunity to really focus on the benefits of those features."
Among the trends the JCP is addressing in the coming year, AI and machine learning are probably the buzziest.
"AI and machine learning definitely come up in most of the conversations I'm having these days," she said, "and people are excited about the technologies, and they want to know how they can leverage their Java skills in that space. We're definitely looking at how to optimize Java to do well for this kind of development. We have a JSR [Java specification request] on visual recognition. The work Brian Goetz is doing with Project Panama looks promising. And with the new release cadence, we don't have to wait for that project to be finished. Whatever comes out of it over time will be integrated into the platform."
"It's less now about the version and just more about what's happening with Java in the moment," she added. "Java is a living, breathing thing that is continuously evolving to meet the needs of developers."
Georges Saab, VP of software development in the Java Platform Group at Oracle, agrees that people are finally getting used to the faster release cadence Oracle implemented for Java. And he said we're starting to see a significant transition from the Java 8 long-term support (LTS) release to the Java 11 LTS. And once people make that big jump, the move to the six-month releases (Java 12 and 13) will be much easier.
"That's the big trend I see continuing in 2020," Saab said.
He also predicted that three projects -- Valhalla, Amber and Panama -- will bear fruit in increments over the next six months. He also sees the evolution of Java over the next year moving the language and platform into even more cutting-edge areas, such as AI and microservices.
"I'm really optimistic about things right now," he said. "From where we are, both with the technology and my group at Oracle, things have never been better. There's a lot of experimentation happening with things like Valhalla and with other languages. I think most of the major changes and investments we've made in things like modularization, the faster release cadence and the subscription offering, both from us and the other players in the Java space, have put Java in a place where we're poised to take the next steps that are really going to help people see that Java is something that's worth their continued investment."
Enterprise Java is now fully relocated to the Eclipse Foundation, and the Eclipse Jakarta EE 8 specification was released in August. The plan for Jakarta EE 9 is evolving quickly, with a "big bang" approach to package naming -- switching everything from javax.* to jakarta.* all at once -- in the offing. Mike Milinkovich, the Eclipse Foundation's executive director, sees 2020 as the year Eclipse really starts delivering on the promise of this new stewardship.
"Once we get everything into the Jakarta namespace, this year will be about innovation," Milinkovich said. "That's the theme for Jakarta in 2020. Eclipse MicroProfile has been delivering innovation since its inception, and that will continue. And this looks to be an exciting year for frameworks, like Quarkus."
Milinkovich also expects to see tighter integration between the Java and Kubernetes communities.
"I think there's a real opportunity there to help bring together the largest enterprise developer ecosystem -- that's Java -- with the fastest growing infrastructure ecosystem -- that's Kubernetes," he said. "I think there's a lot of potential there in bringing these two technology platforms and communities into tighter alignment. It solves problems that folks in each community have. Kubernetes is a fantastic infrastructure, but it's not necessarily the easiest to develop for. The Java ecosystem brings millions of developers and a generation of experience in building enterprise systems. Kubernetes brings relevance in this new cloud-data world. The potential for tighter synergies between those two platforms and communities is going to be something to really watch in 2020."
Milinkovich's message to developers: "Java is going to be around for a long time, and I see an amazing alignment of vendors, communities and innovation. Keep your skills up with the new things happening in Java. There's no reason for you abandon the skills you have today in Java for some shiny new toy."
Posted by John K. Waters on January 15, 2020 at 8:53 AM