Microsoft has long maintained the argument that Windows Server, despite becoming one of the highest purchase cost Server operating system, has the lowest TCO-Total Cost of Operation. The reasoning in most of Microsofts sponsored studies comes down to this: “There are more developers that know Windows and Windows apps then there are developers for Linux, Mac, or whatever competing OS. And with more developers, the opportunity to find cheap development, maintenance and support services is better with Windows. Case closed.”
Well, not exactly.
BEA and Evans Data Corporation are now advancing essentially the same idea as “proof” that Java has a lower TCO than C/C++. BEA through Evans is arguing that there has been and will continue to be a great swing to Java over C/C++ throughout the development world. This will mean that the biggest cost in IT development, the ongoing people costs, will be lower for Java projects versus C/C++. The reasonng is that the bigger the pool of developers the lower the cost – supply and demand. Given the many special C/C++ dialects, I suspect this may be closer to the truth than at first expected. However, the added TCO of C/C++ may be worth some of the benefits of greater platform specific functionality or higher performance. Microsoft is certainly making that bet in Visual Studio 2005 & 2008 – trading off greater scurity risks by alowing exceptions to Managed C/C++ code for faster development time and/or runtime performance. Ditto for Trolltech C/C++ developers.
But if this Developers, Developers, Developers == Lowest TCO than perhaps Mashups vendor Serena and BEA Social Computing maybe onto something when they attempt to pull millions of power users back into the Enterprise IT Development equation. Maybe Ballmer was just a bit limited in his viewpoint – which seems to be the problem with SaaS vendor SalesForce.com which caters primarily to programmers with its Apex scripting tool.
One major difficulty with this equation – Central IT will not be enthusiastic especially if it is saddled with maintenance, update and control tasks with little or no staff and budget to assume the burden. Does this look like PC Revolution, LAN Revolution, Web Revolution and associated maintenance headaches of each deja vu all over again one more time ?