After acquiring Sun Microsystems, can Oracle revive interest in a platform that has become known as the modern Cobol? Jeet Kaul, Oracle’s vice president for client software, thinks Java suffers from an image problem: It’s attracting the wrong crowd. “I would like to see people with piercings doing Java programming,” he said at last week’s EclipseCon 2010 in Santa Clara, Calif. But if Kaul is hoping Java will once again attract youthful, cutting-edge developers, as it did when it debuted in 1995, he may be in for a long wait.Java has evolved from a groundbreaking, revolutionary language platform to something closer to a modern-day version of Cobol. In just 15 years, it has moved beyond maturity into a silver-haired stage of staid dependability. Java offers stability, not agility; reliability, not innovation. It’s the language of large, enterprise software projects, ones that link legacy systems and promise high availability.[ Fine-tune your network in two weeks — for free! InfoWorld’s Networking Boot Camp will help you double-check the fundamentals and show you how to optimize your infrastructure. The email classes start Monday, April 12, 2010. Sign up now! ] If Kaul wants to shatter that impression, he’s in the wrong place: Nothing screams “get off my lawn” like a language controlled by Oracle, the world’s largest enterprise software vendor. The chances that Java can attract the mohawks-and-tattoos set today seem slimmer than ever.Java’s message falls on deaf earsBut then, Java has always struggled to break free of its unwelcome niche. No matter what segment of the developer market Sun aimed for, its efforts always seemed to fall flat.At first, Java was pitched as a language for building applets — small programs that ran inside browser windows — but JavaScript stole much of its thunder there. And while Java applets offered better multimedia capabilities than HTML and JavaScript, they had nothing on multimedia plug-ins like Macromedia (now Adobe) Shockwave and Flash. More recently, Sun tried to recapture the RIA (rich Internet application) market with JavaFX, but these latest efforts have been all but ignored, with most developers still choosing sides between Flash and HTML5. Java’s early server-side capabilities were similarly overshadowed by more accessible languages, such as ASP, PHP, and ColdFusion. Sun always wrote great specs, but its academic approach was a poor fit for the freewheeling Web. It wasn’t until the introduction of JavaBeans and other enterprise-class features that Java’s potential as a platform for transaction-heavy server applications became apparent.Sun also spent a lot of breath touting Java as a platform for phones and other mobile devices. But in the burgeoning smartphone market — where software development really matters — Java has failed to impress. Research in Motion’s BlackBerry platform is built on Java, but it encourages developers to use RIM’s own APIs rather than stock Java ME. Similarly, Google Android has its own, incompatible SDK, and it executes Java bytecode on Dalvik, a cut-down, custom JVM. Most significant of all, however, is the fact that on the iPhone or the iPad, arguably the hottest devices of the moment, Java doesn’t run at all.Sun’s misstepsBut if Java adoption has not accelerated as rapidly as Sun would have liked, much of the blame must go to Sun’s own ham-fisted handling of its developer community. As the JDK swelled with ever more libraries and APIs, many developers became frustrated with what they saw as an overly complex platform, with too many buggy components, ever-changing APIs, and overhyped initiatives that merely duplicated older libraries. 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 youthSo 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. Java