20 Comments

Summary:

There was a time when Java ruled the enterprise computing world, and showed signs of dominating the mobile world, too. That time is gone. It’s not that developers have abandoned Java wholesale, but given recent moves by apple, Oracle and Google there is room for concern.

iStock_000011079252XSmall(coffeethumb)

There was a time when Java ruled the enterprise computing world, and showed signs of dominating the mobile world, too. That time is gone.

It’s not that developers have abandoned Java wholesale. They haven’t. Despite years of market-share declines amongst programmers, with the rising generation of developers preferring dynamic programming languages like PHP, job growth remains healthy for Java developers. Outside the realm of market-share data, however, there is cause for concern in Java Land. What with Oracle’s apparently loose management of the Java Community Process, Apple’s rejection of Java altogether, and Google’s sidestepping mainline Java for Android, Java’s future looks a bit shaky at present.

Intrigue at the Top

For one thing, as much as people may have complained about Sun’s guarded control of the Java Community Process (JCP), concern is growing that Oracle’s commitment to Java may benefit it more than it benefits the wider Java community. Oracle, perhaps recognizing that it had a PR battle to win, has repeatedly emphasized Java’s central importance to it, leading the Java community to mostly give Oracle the benefit of the doubt.

Well, until Oracle nominated little-known Hologic to the JCP’s executive committee, the body tasked with “guiding the evolution of Java.” The executive committee is supposed to represent “major stakeholders and a representative cross-section of the Java Community,” but prominent members of the Java community, including Stephen Colebourne, a prominent Java developer within the JCP, called foul on the inclusion of Hologic, a company little known in Java circles. Colebourne accused Oracle of stacking the JCP deck in its favor, given Oracle’s longstanding, cozy partnership with Hologic.

While Eclipse Foundation Marketing Director Ian Skerrett is quick to suggest this looks more like diversification of the committee than stacking it, he also points to a growing distrust Oracle has engendered by largely remaining silent in the face of criticism. Oracle’s management of the JCP has already caused one JCP executive committee member, Doug Lea, to reject further association with the JCP.

“Dear Oracle, get a clue,” suggests Skerrett.

No Room for Java in a Mac World

Maybe in addition to a clue, Oracle needs a developer platform. After all, this past week news broke that Apple had decided to discontinue development of its version of Java for the Mac. Apple CEO Steve Jobs put the onus on Oracle to develop Java for the Mac if it wanted Java to remain available to Mac developers.

But this is unlikely, as Java founder James Gosling writes, because “OS X has piles of secret APIs” which make the Mac version of Java difficult to implement without significant Apple involvement. OSI director and former Sun open-source guru Simon Phipps also points out that this move effectively leaves Mac-toting developers with a hard choice: stick with their Mac and largely abandon Java or move to a PC.

To add insult to injury, Apple’s new Mac App Store rules give Java the boot. Apparently, there’s no room at the Apple inn for Java.

True, Mac OS X still commands an anemic share of the overall personal computing industry, but as any attendee of a developer conference will tell you, it has significant traction with developers. Apple is betting that it can convince developers to “write once for Apple, run everywhere for Apple,” and it may have some success, which leaves Java fighting to stay relevant with the developer demographic. Chris Adamson, an industry consultant, believes Java’s disappearance from the Mac means very little, but removing the second-largest development platform for developers isn’t going to do enterprise Java any favors.

Stick a Fork in it

Nor does mainstream Java fare much better in mobile, with Apple ignoring or barring it, and Google Android effectively forking it. In fact, Oracle has also stirred a fair amount of ill-will within the open-source Java community by suing Google over this Android fork (“Dalvik”).

All of which leaves Java alive and still well in enterprise computing, but facing strong headwinds as Oracle takes it into the future. BonitaSoft CEO Miguel Valdes-Faura, however, feels that there’s room for optimism:

Java is facing a real challenge right now, but I don’t see it so much as being under siege as it’s facing a transitory period. There is ample evidence that suggests Java’s foundation remains strong: from the number of enterprise products being developed in Java — the associated Java developer jobs — to the growing adoption of Java by Open Source communities.

He could be right, but now seems like an ideal time for Oracle to rally its Java troops with a truly open JCP. The company recently made a big move in this direction by bringing its long-time nemesis, IBM, more firmly into its Java camp through an OpenJDK partnership. Some, like Lea, feel that OpenJDK is the only future for Java, given Oracle’s heavy-handed stewardship of the JCP:

For the core Java platform…the only existing vehicle for which I can foresee a useful role for the academic and research community is OpenJDK. OpenJDK is a shared-source, not shared-spec body, so is superficially not an alternative at all. But at this point, a Linux-style model for collaboratively developed common source is likely to be more effective in meeting upcoming challenges than is the JCP.

Oracle needs to head off this criticism with open, candid involvement in the Java community. It needs to communicate its plans for Java, and then listen for feedback. Oracle needs to rally the troops around an open Java flag, rather than sitting passively as Apple and others dismiss Java, which is far too easy to do when Java comes to mean “Oracle’s property” rather than community property.

Disclosure: I work for Canonical, a Linux vendor.

Related content from GigaOM Pro (subscription req’d):

  1. I think the biggest issue with Apple dropping support for “Java” from MacOSX isn’t so much losing the language – I think I speak for many developers when I say Java-the-language is getting a tad long in the tooth.

    The big issue is not leaving developers with a MacOSX JVM on which to run the latest generation of exciting new languages – things like Groovy, Scala, Clojure and JRuby. Even Python and PHP can be run on the JVM, although arguably they aren’t first class citizens in the way the first list of languages are.

    Share
  2. Java is not going anywhere in the Enterprise software area. Java and .Net are the main choices for these types of applications. Apple’s decision may effect a developer laptop choice (and could hurt apple sales) but it is not going to make an architect of a complex distributed application running a bank or other large system chose PHP or Objective C or whatever. The server is where Java lives and where many/most of the developers are employed.

    Share
    1. Java and to some degree .Net are the main choices because they have been consistently pegged as the “safe” choice to go with for mid-level project managers in the corporate world. No one was ever fired for choosing Java or Microsoft.

      However, there are many large distributed applications these days that run primarily with technologies like Python, PHP, et al. Even companies like Google and Yahoo are heavily invested in these technologies. Java may be the main choice for enterprise development now, but it’s days are numbered as the only stalwart option to go with.

      Let’s face it, many of these so called “enterprise applications” could easily have been written much faster and with less overhead using technologies like Python, PHP, et al.

      Share
  3. How is the Eclipse community reacting to this news?

    Share
  4. Java isn’t going anywhere on OS X. It’s just no longer being ported and supported by Apple. While we can’t be sure Oracle is going to pick up the slack, they would be crazy not to. After all, it isn’t difficult to download a JVM for Windows or Linux. Now we will do the same for our Macs. No big deal.

    Share
    1. Yes easy, you give Oracle the file that need to be uploaded :-) lol

      Share
  5. Clueless post. As a Linux vendor you should remember the Blackdown JVM that was killed off by Sun and how everyone was freaked out that there’d be no Java on Linux… Oh, but wait, there IS Java on Linux you say?

    Surely there’s no Java on Windows after the ugly lawsuit between Sun and Microsoft, right? Wait, there is?

    You say Mac OS X has an “anemic share of the overall personal computing industry”, which is, on its face, laughable, but is entirely missing the point. What percentage of DEVELOPERS use Macs? In the Java space I’d say it’s closer to 50%, especially amongst the good developers who aren’t stuck in corporate hell. And yet you write this off as unimportant.

    For a better look at this, take a look at:
    http://www.infoq.com/news/2010/10/apple-deprecates-java

    Make sure you look at Cameron Purdy’s comments. He sold his company to Oracle a few years ago and runs one of their big enterprise middleware divisions with lots of developers… All on Java, and all on Macs.

    I’m not going to go into the Android stuff too much, but that’s equally clueless… Android IS Java in all but name, so saying Java hasn’t made inroads in mobile is pretty hilarious. Sure, Oracle thinks they can extract some value by suing Google, but that’s business, not technology. Is Google going to go back to the drawing board and scrap the whole Android platform? No.

    What exactly do you think is coming to replace Java in the enterprise development space? Ruby / PHP / Python? Really? Have you ever developed a large enterprise application? These are great tools for small teams and small projects, but they don’t scale so well to big teams (and I’m doing Ruby right now), especially if you have to have average developers filling in the gaps.

    Share
  6. Random thoughts…

    Is there a deal between Apple and Oracle to agree that the best way forward is for Apple to give/sell the code and for Oracle to maintain it as they do for the other OS? if yes, Oracle, wake up tell us you will support it.

    Is this a move because google is a Java house and Apple want to cut the tree that may arm them before Google release some Java pres layer in OSX like an Android “player”?

    Is this because all the big corporation are jumping on the excuse that the world is changing and that they need to change to survive, so they dump all what users/developers took ages to get/build, interoperability… because now interop is done with WebService and the Cloud is ready (with a big corp behind) we will have viewers (like iOS/Android) as OSs and Cloud services, bye bye freedom?

    I am a Java developer. I use OSX because it is a clean OS with a Unix base. I am planing on developing Apps for iOS/Mac. I have had about 20 Apple devices purchased in my close family (Mac Books, iPhones and iPads). I have no issue switching to Linux or Windows, I was on it just 2 years ago and the family will follow. I am the only geek in the family, but I am like the doctor you know if the family.

    Time will tell. But customer behaviour is one of the hardest thing to change. You have the top of the food chain supporting you at the moment Apple… Two steps in a direction which need clarification, quickly. This one and the Apple Store…

    Share
  7. I’d think Oracle would have motivation to support java on the Mac so that the substantial number of Java devs that currently use OSX don’t end up on Windows where they can be lured into the MS enterprise stack instead (.NET, etc).

    Share
  8. Do you know what do you mean by computer programing? Totally clueless.

    Java is a server side computing platform. (not just language). It’s one of the 2 main platform for enterprise and a major back end platform for web computing.

    Go, look at the Apple Career page and search for “Java”. You will see how many job openings(more than 100) looking for Java engineers!

    Share
  9. This whole business bodes well for .NET.

    But more interestingly, it could give WebOS a leg up when HP will put out new Palm phones and other WebOS-hardware early next year. As if in foresight, Palm gave Java the boot for WebOS 2.0 and switched to Javascript (shipping node.js. etc.).

    Let’s see who will be the Linux’ communities open-source champion in the long run.

    /still amused by Jeff Waugh calling Android a “bunch of goofy shit piled on top of a heavily molested Linux kernel”. ^o^

    Share
  10. No this is not going to happen immediately

    Share

Comments have been disabled for this post