Executive Insights on the State of the Java Ecosystem
Executive Insights on the State of the Java Ecosystem
Executives across industries have touted Java, and for plenty of reasons, but there might be trouble in paradise. Here are the strengths and weaknesses of the ecosystem.
Join the DZone community and get the full member experience.Join For Free
To gather insights on the state of the Java ecosystem today, we spoke to nine executives who are familiar with the ecosystem. Here’s who we spoke to:
Kehinde Ogund, developer, Andela
Eric Shapiro, co-founder and chief experience officer, Arctouch
Prem Chandrasekaran, VP of software engineering, Barclaycard
Rajiv Kadayam, senior director of technology strategy, eGlobalTech
Anders Wallgren, CTO, Electric Cloud
Ray Augé, senior software architect, Liferay
Wayne Citrin, CTO, JNBridge
Kunal Anand, CTO, Prevoty
Tim Jarrett, director of project management, Veracode
The JVM is considered to be the most important element of the Java ecosystem. It’s a powerful technology that will outlive the language. It’s rock solid, proven stable, and nothing else compares. Massive resources are available. There is no problem that has not been addressed by Java. No significant new development is necessary.
There are a tremendous number of solutions available. The JVM serves as the foundation of a lot of cool things like scalability, performance, and concurrency. It’s obvious the developers been thinking about the JVM for a long time.
Oracle is seen as the biggest, but not the only, player in the Java ecosystem. Several people mentioned that the Open Source community, Pivotal Labs, Lightbend, Red Hat, and Apache are key contributors for maintaining and sponsoring projects like the Spring Framework, Scala, Akka, JBoss, Spring, Hibernate, Kotlin, and Groovy. All of these frameworks and languages are invaluable parts of the ecosystem that help keep Java relevant and innovative while extending the JVM.
Java 8 is seen as the most significant change to the Java ecosystem in the past year. Java 8 is getting a lot of adoption as developers are embracing lambdas as an open door for functional programming. Respondents are looking forward to Java 9 as well due to the modularity it provides without interrupting what has been done in earlier versions of Java. Both Java 8 and 9 are seen as being more user-friendly, with greater usability and less code than previous versions.
Java is solving all real-world problems. It’s used by all industries. Banks run on Java, as do telecommunications and healthcare companies. Backend infrastructures for large enterprises are usually all built with Java. It does all the heavy lifting for business solutions, big data, and analytics. We’re also seeing enterprises evolve from monoliths to microservice-based architectures.
Slow speed to market is the most common problem today. Java 8 was delayed by two years due in part to security concerns, and Java 9 has already been delayed from a 2015 release to a tentative 2017 release. Project Jigsaw, originally slated to be a part of Java 8, was pushed to be included in Java 9 instead. These delays make it seem like Java 9 is being developed in a waterfall model. The release process is not transparent. It’s still up in the air whether Oracle is good for Java. Regardless, the Java community will carry it forward.
Other concerns were with dependencies and verbosity. For large applications on complex platforms with third-party dependencies, you can still get into “JLL hell.” This has gotten better over time; however, the intersection between commerce and community needs to get better and more transparent. At some point, it may be necessary to separate the JDK and the JVM.
The future of Java is strong due to its stability. Software has become a short-term commodity. Java is a long-term guarantee that will continue to be used by the enterprise. It’s nice to know something is stable and will be around for the long-term so developers don’t become fatigued with all the changes. Java will remain robust and vital and it will continue to get faster, move towards microservices, and become extensible with more languages.
The biggest concern with the state of the Java ecosystem involves Oracle – their trustworthiness and their competition with IBM. Oracle owns Java and there is concern that they will start asking banks to pay fees. If you’re the CEO of a bank running Java, you’re not very comfortable. There is fragmentation between competing JDKs and JVM-based solutions with Oracle and IBM. There are significant differences that can prevent something developed for Oracle to run on IBM software. The underlying implementations are not close and it makes it difficult to run enterprise software. It’s impractical to do repetitive work for iOS and Android.
Developers need to know they can make a career out of Java. It takes minutes to learn and a lifetime to master. Give yourself time to learn it properly. For as long as Java has been around, it’s easy to get complacent with your current skill level. Get out of your comfort zone and explore. Find interesting open source projects and deconstruct them to learn how they were built. This will provide better learning than just writing a simple script application. Be more active with open source projects and communities. Be more open, communicative, and collaborative.
Additional thoughts centered around the size and the diversity of the ecosystem. What other languages have robust IDEs and toolsets as Java? What are the top two or three things a Java developer could not do without with regards to tools, frameworks, and IDEs? How has this changed in the last two or three years? Java can help companies and agencies with transformation initiatives create more long-lasting functionality that can scale and meet the long-term needs of the organization.
Opinions expressed by DZone contributors are their own.