DZone Research: The Future of Java
DZone Research: The Future of Java
What's the future of Java look like? Well, the forecast is cloudy. Expect a focus on serverless architectures and cloud native development.
Join the DZone community and get the full member experience.Join For Free
Atomist automates your software deliver experience. It's how modern teams deliver modern software.
To gather insights on the current and future state of the Java ecosystem, we talked to executives from 14 companies. We began by asking, "What’s the future of Java from your perspective?" Here's what the respondents told us:
- Serverless, cloud-native, complete disaggregation. Jigsaw is important for disaggregation. Moving to the unikernal where you only get what you need.
- 1) 2018 will be the year of Eclipse; 2) convergence with containers will accelerate; 3) Kotlin will become the next hot language; 4) the new release model will drive faster innovation; and, 5) serverless will result in a major reshaping of Java.
- I expect to see serverless grow over the next two years. In principle, Java is built for serverless but it needs work. With Spring Boot, containers can be lighter weight and great to build serverless upon.
- Java still has a long future ahead because if its strong presence in the enterprise. The quality has to remain high. If the quality doesn’t improve, it may fall into disfavor.
- Modules try to get into smaller IoT devices. Simplification of language to get away from boilerplate. Good changes in Java 8. Containerized load for Java 8 and 9 for easier execution in container management, memory, and CPU.
- It’s very bright. I don’t see any serious challenger to Java on the horizon. New languages come and go, but they don’t have the platform that Java has. Large enterprises don’t move off platforms that they understand, know how to manage at scale, and have built massive processes around. People massively underestimate the power of the JVM and overestimate the importance of “syntactic sugar” when predicting the rise and demise of languages. I’m happy to see a faster release cycle, and hope that Java can continue to innovate.
- Frequent releases drive innovation, engagement and encourage new developers to add Java to their toolbox. More collaboration between groups like Eclipse and JVM languages on containers, cloud, and machine learning. We have a new JSR for visual recognition.
- There’s two parts – there’s Java the language which is pretty long-in-the tooth and not likely to change, and there’s another part that is the Java virtual machine (JVM). When you write a Java program and you compile it, you end up with bytecode which is a series of instructions that is actually going to run on a computer and therefore the JVM is the thing that is actually executing the code you wrote. What is interesting about this is other languages can produce the same bytecode and then run on the same JVM, which means there’s a whole slew of languages that are being created that could work seamlessly with Java programs. The assumption is that one of these languages will one day replace Java while retaining access to the Java ecosystem.
- Faster releases enable developers to have access to more features faster. Faster, lighter, more APIs. More developers are learning Java because they can earn more as a Java developer.
- This may sound overly optimistic (and if you knew me, you would know that I am often not so positive), continued success in the world’s largest organizations (big businesses, big government, etc.). The OSS ecosystem continues to thrive, and we are seeing brilliant innovations continuing to support Java’s ongoing success.
- The future of Java is bright! With other languages such as Scala and Kotlin "competing" on the JVM I believe that that competitiveness will drive the evolution of Java toward an even better language.
- Letting the language and the compiler be more intelligent. Building larger, more complicated systems with fewer lines of code. Data objects, data types make building AI/ML/NLP on top more easily.
- Evolution of new JVM-based languages and tooling to support. This becomes more important as different paradigms become more popular. The JVM enables many different types of languages to be built.
Here’s who we spoke to:
Opinions expressed by DZone contributors are their own.