Over a million developers have joined DZone.

Java Ecosystem Executive Insights

11 awesome execs weigh in on the state of the Java ecosystem with their fascinating insights.

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

This article is featured in the DZone Guide to the Java Ecosystem. Get your free copy for more insightful articles, industry statistics, and more.

In order to more thoroughly understand the state of the Java ecosystem today, and where it’s going, we interviewed 11 executives with diverse backgrounds and experience with Java technologies, projects, and clients.

Specifically we spoke to:

Fred Simon, Co-Founder and Chief Architect, JFrog | Brandon Allgood, PhD, CTO, Numerate | Dr. Andy Piper, CTO, Push Technology | Gil Tene, CTO, Azul Systems | Anthony Kilman, Tech Lead, AppDynamics | Bhartendu Sharma, Vice President of Operations, Chetu | Ray Auge, Senior Software Architect, Liferay | Jonas Bonér, Founder and CTO, Typesafe | Toomas Rὅmer, CTO and Founder, ZeroTurnaround | Michael Hunger, Lead Developer Advocate, Neo Technology | Charles Kendrick, CTO and Chief Architect, Isomorphic Software 

The Java ecosystem is massive. Everyone we spoke with has been working in the ecosystem throughout their careers, and most have positive feelings about how the platform has evolved to one that is open. Even though Java is not described as a “bright and shiny object,” it continues to have a very bright future—assuming Oracle and Google can resolve their differences.

Here’s what we’ve learned from the conversations:

  1. There’s no definitive agreement on the most important part of the Java ecosystem. Perhaps this is a function of the age, diversity, and size of the ecosystem. Ubiquity, reliability, and performance of the core platform were mentioned most frequently as  benefits and the reasons why Java is the platform of choice for large, well-established enterprises. The object-oriented nature of the platform enables large development teams to work on multiple layers. Platform independence enables it to interface with other JVM languages. The JVM serves as a platform for new languages outside of Java like Scala, Clojure, Groovy, and many more. The transparency of the JDK enables the open-source community to make innovative additions to the ecosystem, thereby making Java more interesting and relevant. The JCP is vibrant and active with participants actively sharing contributions that add to the usefulness and improve runtime performance of the platform.
  2. As the owner of Java, and the JDK, Oracle is clearly the most important player in the ecosystem, producing the “official” elements of the platform; however, it is not the only player. In fact, there are at least 60 million Java developers. The Java Advisory Committee is actively overseeing the evolution of Java and ensuring standards and best practices are being maintained. The JCP is driving evolution in every sector. Google is important because of Android. IBM is committed to leading development and standards while serving on the governing board for OpenJDK. Pro-open-source organizations like Pivotal/Spring, Apache, Typesafe, and Red Hat are adding more interest and innovation around Java. Azul is leading JVM development while SAP is staying involved in development as well. Open-source communities around JVM languages like JRuby, Groovy, Clojure, and Scala are driving additional innovation.
  3. Twitter is the most popular way for respondents to stay up-to-date on the deluge of Java ecosystem trends, with most respondents following specific thought leaders and using Twitter to find the most relevant and timely blog posts. The Java community and elements thereof, as well as developer communities—like DZone’s Java Zone (formerly Javalobby), InfoQ, Hacker News, and StackExchange—were also mentioned as being great sources of knowledge and information.
  4. The greatest value of the Java ecosystem is its ubiquity. Java can be used for big servers, Big Data, IoT, and large websites. You can use the same language for both mobile on the client side and Big Data-crunching server side. This makes it easy to integrate between multiple services, platforms, and distributed transactions to get things done quickly. It’s easy to find developers who know Java. It builds the safest, most stable enterprise software that can scale. It has a tremendous library ecosystem and a strong open-source community behind it.
  5. The biggest recent changes respondents have seen in the Java ecosystem seem to be the introduction of Java 8 and the involvement of the open-source community. Java 8 enables easier parallel computations, backwards compatibility, and new language features like Lambda expressions—a powerful technique in a developer’s toolbelt. Open source has led to tremendous innovation, more languages, and opportunities across the mobile space due to Android also being open source. One respondent expressed concern that Sun’s lack of leadership and major missteps (citing JavaFX and JSF) have led to a number of conflicting approaches in basic areas of the platform like UI and data binding.
  6. While it may seem contradictory, the biggest obstacle to Java’s success is its success. Members of the IT community have an inherent bias against anything that’s been around for more than a few years. Java has been around for 20 years and is the legacy platform for most large enterprises. But there’s a reason why: it’s good, it’s secure, it’s scalable, it’s flexible, and it’s seeing a return to relevance with the additional elements being contributed by the open-source community. While developers and startups may want to use “bleeding edge” technology stacks such as Node.js (it was Ruby on Rails in 2008), established businesses are more interested in software that can get the job done reliably. They don’t care about the technology stack until it’s causing problems. A more specific concern is the poor expressiveness of the Java language, which can result in code that takes longer to write, is harder to read, and tends to be rigid in the face of evolving requirements. Java continues to struggle from JAR hell, a problem similar to DLL hell, which .NET solved years ago. Various solutions to this issue keep getting pushed out. Project Jigsaw, which is planned for Java 9, should alleviate the problem; however, a definitive solution has not yet been found.
  7. We asked respondents what they value in Java developers, and—like everything else in the Java ecosystem—there was a diverse group of opinions:
    • Understand the software and its architecture. Have standard design patterns, like Flyweight and Observer, down pat.
    • Master parallelization and be knowledgeable about how to interact with threads.
    • Be a team player that is patient, empathetic, and stays abreast of how the ecosystem is evolving.
    • Don’t try to reinvent the wheel. There’s already so much written in Java that’s available to the Java community; you can speed up development time by building on top of something that’s already been built and proven to work.
  8. Concerns with the Java ecosystem revolve around the omnipresent tension between Oracle and Google. Java will benefit greatly when these technology behemoths check their egos at the door and begin collaborating to improve Java. If Oracle does not resolve their differences with Google, this could cause many partners to look for other solutions, causing Java to stagnate. Most of the skepticism around Oracle’s support of Java following its acquisition of Sun in 2009 has dissipated as users have seen Oracle promoting the Java community while providing fair access. Some even commented that Java is being run more professionally with Oracle behind it.
  9. The future of the Java ecosystem lies in IoT, mobile, and enterprise app development. The Java platform is the best solution for building multi-core distributed applications, and it can help normalize these evolving computing environments. Additionally, as the importance of personalization, privacy, and security become even greater around IoT and Big Data, more enterprises will realize these are the foundational elements upon which Java was built.
  10. Some parting thoughts for developers: The Java ecosystem is massive, and the Java community has already solved a lot of problems. Do not begin creating solutions from scratch until you’ve thoroughly researched pre-existing solutions. This will reduce redundant work, speed up development, and increase your knowledge of the platform and the ecosystem. There are 60 million developers using Java. Make sure to share what you learn and what you produce. The more developers that are participating in the community, the deeper and richer the ecosystem will be. You can always learn more. As one respondent said, “If you think you know Java very well, you haven’t looked deep enough.”

The executives we spoke with are working on their own products and serving clients. We’re interested in hearing from developers, and other IT professionals, to see if these insights offer real value. Is it helpful to see what other companies are working on from a more industry-level perspective? We welcome your feedback at research@dzone.com.

For more insights on microservices, JVM languages, and more trends in Java, get your free copy of the DZone Guide to the Java Ecosystem!

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:
java ,executive insights ,java ecosystem

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}