To gather insights on the state of the Java ecosystem today, we spoke with 14 executives who are familiar with the Java ecosystem. Here’s who we talked to:
- Joel Depernet, E.V.P. Global Research and Development, Axway
- Sacha Labourey, CEO and Founder, CloudBees
- Rick Reich, CEO, Development Heroes
- Asad Ali, Principal Software Developer, Dynatrace
- Lisa Hamaker, Marketing Manager, Dynatrace
- David Park, V.P. of Products, HackerRank
- Charles Kendrick, Founder and CTO, Isomorphic Software
- Wayne Citrin, CTO, JNBridge
- Raymond Augé, Senior Software Architect, Liferay
- Laura Kassovic, Founder, MbientLab
- Cameron Wilby, Co-Founder, Origin Code Academy
- James Faulkner, Technology Evangelist, Red Hat
- Paul Trowe, CEO, Replay Games
- Calvin French-Owen, CTO and Co-Founder, Segment
01 The most important components of the Java ecosystem are the JVM, its versatility, its breadth and depth as a result of its age, and the Open Source movement driving the availability of free online content for all developers. The JVM platform runs on all machines and the cloud. The single most important part of the Java ecosystem is the vast amount of free online content (answered questions, tutorials, etc.) and free libraries. It is rare to encounter a development task in Java where you cannot find at least a partial solution, or hints at a solution, within a few minutes of searching.
02 The single biggest event in the past year was Oracle’s lawsuit against Google. The entire industry was waiting to see whether the Java platform, and software development in general, was going to change radically to accommodate the fact that licenses would be required just to create a compatible implementation of an API. The Java platform will be forever diminished by Oracle’s stewardship, since they have shown themselves to be fundamentally hostile to Open Source by filing the lawsuit in the first place, while vendors like Red Hat and the Open Source community have been pushing Java more than Oracle.
03 The impact of Java 8 so far is that Lambda expressions make it easier for developers to build applications. It’s easier to write cleaner code. It’s more maintainable with less repetition. Oracle has finally updated the language features to match those of other modern languages. The uptake of Java 8 depends on enterprises’ desire and need to do so. Adoption can take years, which can be very frustrating. While there’s been a lot of attention on security fixes, enterprises are slow to adopt due to lack of support. There’s not a lot of buy-in to get to 8, even though it has better security and garbage collection.
04 There’s little to no anticipation for Java 9 at this point, considering the slow adoption of Java 8. Vendors won’t use Java 9 until they see some uptake by their enterprise clients. While Java 9 offers modularity, some people expressed fear and confusion over how the modularity is being handled. Is there misrepresentation of what will be possible? It’s not playing out as Oracle would like due to lack of uptake. A lot of software is already offering modularity. Doing this in a closed environment makes it difficult to close the gap.
05 Perspectives on the Java Community Process (JCP), and its future, are depressed. JCP changes have been difficult given the situation with Oracle and their desire to milk Java like an annuity without letting others have too much freedom with the product. There’s a perception that Java 8 and 9 will lead to a more closed ecosystem. This perception is driven by the fear of vendor lock-in by what’s currently going on with cloud platforms. Some people see the JCP stagnating and becoming non-existent. The future of the JCP lies with stewards like the Apache Software Foundation, the Eclipse Foundation, and the OSGi Alliance. The Java community is strong and will keep the language viable for a while; however, Oracle needs to open it up and let others contribute if Java is going to have a robust future.
06 The greatest value seen in Java is its diversity: it’s scalable, it’s portable, it works on many machines, and it works on many different operating systems. It’s not a one trick pony and can’t be compared to other languages. It makes the lives of companies much better. Java is one of the top three languages in the world for quality, reliability, ability to deliver on demand, toolchains, and developer ecosystem. It’s the only language that can make this claim. It’s still the most powerful and comprehensive language. Lastly, unlike other languages, there are plenty of developers.
07 The most common issue affecting the Java ecosystem is Oracle. If Oracle would go to an Open Source model, Java would grow faster if everyone took the code and improved it, rather than waiting for Oracle. Oracle is a dubious steward and Java is inappropriate for a number of tasks that it’s being used for, and it will ultimately be replaced for specific needs. There’s a lack of visibility of the leadership of Java within Oracle. Oracle owns Java but isn’t stepping up to push Java forward. There’s a lack of innovation within Oracle and therefore a slow uptake of the newer versions of Java by enterprises.
08 The future of Java continues to be strong in the near term but diminishing over the long term (10+ years). Even with all of the new languages being developed, Java’s not going anywhere for the next five to 10 years since it’s the preferred language of enterprises because it scales, as well as saving them time and money. It will remain the predominant language in coding for quite a while since a lot of enterprises have a lot of equity invested in Java. There will be a slow loss of relevance over time until ultimately it’s seen as a specialized skill needed only by a few, similar to the way mainframe languages are currently seen. There will be fewer developers using Java in the areas where Java has core strengths and Java will ultimately be phased out in favor of more appropriate languages and tools.
09 When we asked executives what developers need to keep in mind when working with Java, we received a variety of opinions. One set revolved around the philosophy that companies are generally looking for the best programmers and engineers with less concern for a particular language. As such, developers should focus on developing their coding skills and knowing the fundamentals of computer science, as well as its real-world applications. Another group feels that having full knowledge of Java is a good basic skill to have, and developers should get to know the common Java libraries and tools. Learn to appreciate the tools that are available and leverage them to the max. Always be learning while having a primary skill to ensure you have stable employment. Look for a secondary skill that will provide you with “developer insurance.”
10 When asked about additional considerations with regard to the Java ecosystem, executives raised several questions and made some important observations:
- What could Java be doing better?
- There will be more opportunities with mobile. Will Java keep up the pace?
- As more and more infrastructure moves to the cloud, or cloud-like provisioning, will these services run on Java or JVMs at all?
- Java is notorious for all the zero-day exploits and is only second to Adobe Flash in the number of vulnerabilities and security patches.
- Is Oracle going to make Java programming more flexible?
- Why aren’t more companies making contributions to the Java community?
More Java Goodness
And if you want to see other articles in the guide, check out: