After almost two years of complete standstill, Java is back. Even before Oracle announced it would buy Sun Microsystems in 2009, Java was languishing.
The struggling company couldn’t make money on its prized development language and environment, and as a result, it invested its money elsewhere. When Oracle inherited the platform in the spring of 2010, the Java world was beginning a tailspin. The OpenJDK was progressing and Java tools continued to evolve, but the language itself was standing still.
And as a result, developers flocked to other languages that would run on top of their existing Java environments. JRuby, Jython and newcomers Clojure and Scala all piqued developer interests, including Twitter, which moved to Scala to end the constant downtimes that plagued the service.
But after all the hand-waving and worrying over the premature death of Java, Oracle finally got its act together in October, when it brought IBM back to the JCP table. After a few weeks, even Apple returned to the JCP and agreed to help develop the OpenJDK.
While all of this was bad news for the Apache Harmony Project, it was great news for the enterprise Java developer. The JCP, it seems, will no longer be a dead standards body. As of this writing, the JCP has finally created JSRs for Java SE 7, and lest we complain of an unclear future, Java SE 8.
That means Java is back on track to evolve and tackle the modern problems developers are facing. That’s a far cry from two years ago when Java EE users were happy just to be getting REST support.
Outside of Java itself, the Java ecosystem continued its path towards lightweight solutions to heavyweight problems. Apache Tomcat remained the most popular application server, and VMware’s SpringSource spent much of the year consolidating the essential enterprise Java infrastructure tools under its banner.
And tool makers focused heavily on making Java easier for everyone in the enterprise, from coder to operations engineer. Google and SpringSource collaborated to bring Roo integrations to Google Web Toolkit. Azul finally poured its advanced JVM out of its hardware solution and into a software solution. Terracotta updated Ehcache, a distributed cache that forgoes Java garbage collection entirely, addressing a problem that has plagued low-latency Java systems for years.
IDEs also continued to evolve in 2010. Perhaps the most interesting evolution was not of any one particular IDE, but rather the revelation that Oracle would be keeping both its Eclipse-based JDeveloper IDE and NetBeans IDE, meaning the company would be maintaining two completely different Java IDEs.
Eclipse, of course, also evolved in 2010, bringing with it a new focus on using the IDE as a runtime environment. As the experimental E4 project drew to a close, it brought new ideas for the next stage of Eclipse. E4’s successful experiments were around the modularization of UI components, making RCP development easier.