Analysts continue to trump the lack of applications being developed for Vista. Yet, as Randall Kennedy points out, “developers who write for Windows rarely target a specific version. Rather, they select a particular API framework and proceed from there.” The supposed Vista ‘app gap‘ is a straw man, Kennedy argues. “The real question should be: Why aren’t developers leveraging the various iterations of the .Net framework?”
Ars Technica agrees with Kennedy – developing for Windows and XP is not an either/or situation; developers can write software specifically for Windows XP, and still have those applications running just fine on Windows Vista. I have been using Vista since even before its official release, and apart from Ahead’s Nero during Vista’s early days, I have not encountered a single incompatible application. In other words, while analysts might conclude that 49% of developers are targeting Windows XP, compared to 8% who are targeting Vista, those 49% are still targeting Windows Vista, even if they don’t know it. We are not talking OS9 or Mac OS X here.
The real question is, therefore, why aren’t Windows developers leveraging the technologies in .Net and Vista? According to Kennedy, there are two reasons. Firstly, developers do not like targeting a platform that isn’t widely available across the installed base. .Net doesn’t ship with Windows XP, and the technologies in Windows Vista (Windows Presentation Foundation, Windows Communication Foundation, etc.) do not come with XP either, and Vista isn’t yet as popular as Windows XP.
The second reason, according to Kennedy, relates to performance of the .Net framework.
The second reason developers have shunned .Net is that it’s slow. Many common functions simply take longer under .Net, forcing developers to choose between API sophistication and raw performance. Not surprisingly, most developers choose the latter, as I was once forced to do when I discovered that the .Net equivalent of Performance Data Helper (PDH) was all but unusable for real-time sampling of Windows performance counter data. As a result, I’m forced to maintain an aging (circa 1997) Visual Studio 6 code base while waiting for Microsoft to finally streamline .Net to a point where it’s a viable alternative. It’s an old story and far too common among Windows developers.
Perhaps more interesting than the discussion surrounding Windows Vista are the figures concerning Linux: 13% of developers are targeting Linux, which can only be seen as a good thing for Linux, which makes it a good thing for the entire operating system industry. The more diversity, the better.