For some critics, Sun's 11th-hour decision to open source the JDK represented a missed opportunity. Had Sun done so earlier, Java could have won strong support from the developer-heavy Linux community, which could have helped spur adoption of the language. As it stands, Redmonk analyst Stephen O'Grady says that Mono, an open source clone of Microsoft's .Net platform, is more popular than Java for Linux development.
And now that Java is open source, the community seems unsure what to do with it. Part of the problem is that Java is burdened with the JCP (Java Community Process) for drafting changes to the language, which is widely viewed as cumbersome, inefficient, and too slow to meet the needs of developers.
That's a shame, because the Java language itself could use a little work. Its stuffy, old-fashioned syntax has been criticized for requiring too much "boilerplate" code, which aids manageability but hinders rapid application development. It also lacks modern language features, such as closures (also known as first-class functions) and proper support for generics.
Oracle: Hardly a fountain of youth
So will Oracle be able to breathe new life into Java where Sun largely failed? There are encouraging signs. Multiple Oracle execs have voiced their frustration with the JCP and their desire to accelerate the process of amending the Java standard. As just one example, support for generics and closures is already underway for the upcoming Java 7 release. Another priority is improving the JVM's support for languages other than Java -- Scala and Groovy being just two current examples.
But while these will be welcome improvements, they're not altogether reassuring ones. "Speeding up the JCP" sounds suspiciously like coded language for Oracle exerting more authoritarian control over the Java standard. And while a multilanguage JVM, generics, and closures are all well and good, they're really only playing catch-up with the capabilities of other modern platforms, such as .Net.
More telling is Oracle's seeming unwillingness to take decisive action, at least for now. Much of its marketing efforts since acquiring Sun last year have been devoted to convincing customers that Oracle has no plans to gut Sun's software product line -- even where doing so might seem prudent. Thus, Oracle says it will simultaneously support the Eclipse, JDevelop, and NetBeans IDEs for Java, not willing to alienate loyalists of any one tool. And Java will continue to have three faces -- Java SE, Java ME, and Java EE -- despite the fact that the enterprise platform is clearly Oracle's bread and butter.
None of this "business as usual" talk suggests that Kaul's pierced and tattooed developers will be flocking back to the Java platform anytime soon. In fact, now that it's under Oracle's wing, Java may settle even further into a niche as a tool much like the Oracle database itself: complex, cumbersome, often frustrating, and requiring lots of costly maintenance. Rather like old age.
This article, "Geriatric Java struggles to stay relevant," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in software development at InfoWorld.com.