Stephen wrote a great post based on data from our new RedMonk analytics platform the other day that set me thinking. Its easy to blithely assume that all developers use Macs these days, but the data doesn’t bear such a thesis out.
Briefly, Ian Skerrett of Eclipse asserted that, according to Eclipse’s community survey data, Mac had fallen behind Linux as an operating system of choice for developers. Rolling up their numbers, I get the following distribution of operating systems:
Windows is the easy winner, but Linux is as clearly second to Mac’s third. The primary takeaway for most is that Linux traction is strong amongst Eclipse users. The obvious next question is whether this trend holds amongst a wider development community or whether it’s a more localized Eclipse phenomenon.
The Apple news wouldn’t be so problematical if broad questions weren’t also currently being asked about Java governance and commitment – basically who will support the development required to ensure an awesome Java experience on the Mac going forward, especially given all the neat tricks Apple has hitherto done to make Java work so slickly on the machine? The business problem is that the only constituency really hurt by the news are Java developers- that is to say folks using Eclipse or Netbeans: Adobe, Google, IBM, Oracle, SAP developers, more than end-user customers of same? hmmmm.
Stephen’s data led me to consider another alternative: how about Microsoft as a white knight for the Java development industry? While I appreciate this sounds like an extremely weird scenario… lets consider the facts. Windows is already the leading platform in the space, so its really a question of supporting existing customers. Even by doing nothing Microsoft is likely to pick up some of those that feel they can’t keep using Macs for their day job. Of course some might go virtualised, or move to Linux. But Microsoft could pick up malcontents.
Its important to note that Microsoft has been making a long slow road to support of the the kind of open source innovation that Java supported. It has already invested in the Eclipse ecosystem via Eclipse Tools for Microsoft Silverlight. So why not invest directly in making Microsoft the absolute best place to run Eclipse or other JVM software? Certainly laptop makers want to appeal to developers, because for all RedMonk’s data the perception is that the cool kids all run Macs. Microsoft could work on a Windows developer workstation edition with its OEM partners. Windows Vista sucked too much for developers – but Windows 7 is a lot better, and we’re not even into SP1 territory yet. Some developers use Windows Server on their machines.
My basic premise is this – at the moment everything is in play in the market, and if Microsoft is really serious about attracting developers- all developers – to Windows then it needs to be strategic about Java. Its investing in supporting WordPress, Joomla and other open source technology through its Web Platform Installer Tool (gotta love the .aspx URL, eh). It recently lost Jim Hugunin to Google, at about the same time it open sourced IronPython and IronRuby, dynamic language implementations to run on the Microsoft Dynamic Language Runtime (DLR).
Jim had this to say about his departure:
However, I leave feeling respect for the many great people and products produced here. I will suffer some pain when I have to write code in Java now that I’ve learned to love the elegance of C#. I will suffer some frustrations when I have to use Google Docs instead of the finely polished UI in Microsoft Office. More than anything, I will always value the chance that I had to work with and learn valuable lessons from some truly great people.
But more interestingly in the context of this piece:
The post indicates to me at least that we’ll see an even stronger JVM play from Google going forward. But the Google App Engine JVM is designed for the cloud, not the Mac. And the whole Oracle suing Google over Dalvik thing (please see our coverage here and here) does create some fear, uncertainty and doubt around Google JVMs. Will Google be the white knight for a desktop JVM that runs beautifully on the Mac? Its quite possible. Google supports a fair bit of native Windows code to help it try and hollow out Microsoft from the inside. I, for one, love the Outlook gmail support and Picasa rocks. So why wouldnt Google play around with Apple native code around for a high performance JVM with UI extensions for goodness? Actually that sounds like a pretty tall order doesn’t it?
Microsoft should be able to engineer awesome JVM support on Windows a lot more easily than Google on a Mac. Does it make sense to continue relying on Oracle to provide the JVM? The broader question is what’s the surrounding community management and infrastructure to make Windows a more obvious choice for Java developers. And then there are the potential legal issues. But the bottom line is this: the more developers use Windows the more they’re likely to at least try other technologies from the Microsoft stack. Developers, developers, developers, developers. That much seems obvious.
Microsoft’s Professional Developer Conference starts today in Redmond. I don’t expect Microsoft to spend its time lauding Java environments – but an opportunity seems to have opened up here. I would take it. Step one – call the Eclipse Foundation and consider a full membership [yes Eclipse is a RedMonk client, and no that is not the point of this piece]. For that matter I know Oracle is offering pretty sweet terms for corporate JCP membership at the moment…
I haven’t even discussed the continuous integration to cloud disruption (see our VMware SpringSource Click2cloud coverage here. and Collabnet buying Codesion) that’s changing the way Java development is done, but like I say, disruption is happening in multiple dimensions. Apple is running around creating new competitive dynamics left right and center – which also means its creating new collaborative opportunities as well. Microsoft as a white knight in the Java space – have stranger things happened or am I batshit crazy to even ask the question? What do you think?
Adobe, Eclipse, IBM, Microsoft and SAP are clients.