Microsoft's PDC Confession: 'Do as I Say, Not as I Do'
Do as I say, not as I do: That's the message I took away from Microsoft's latest confessional session at its Professional Developers Conference (PDC). Apparently, several of Microsoft's best and brightest -- the people who help chart the course for the company's tools division -- admitted to eschewing modern visual programming techniques in favor of the "old school" text editor and command-line approach.
This would hardly be news if it weren't for the fact that it flies in the face of everything that Microsoft has said and done in the developer tools space over the past two decades. At PDC after PDC, company executives have touted the wonders of their latest visual goodies. To now learn that company's own gurus don't use these same glitzy, paint-by-numbers toolkits is tantamount to hearing how wonderful Obamacare will be and then finding out that the people passing the relevant legislation are exempt from the program. (I wonder if their "Cadillac" health plans will be taxed?)
Of course, nobody at this panel thought to question why these Microsoft hotshots avoid visual tools like the plague. That's because everyone already knows the answer: performance. Simply put, lazy programming models -- like the ones at the heart of Microsoft's visual tools -- produce bloated, inefficient code.
I say this from experience, having wrestled for years with Visual Studio and every major release of the .Net framework since before the company dumped the Next Generation Windows Services moniker. If I want to build something quickly to test out an idea or theory, I use the visual stuff. If I want it to work well in the real world -- for example, an ASPX page that executes a series of critical SQL queries -- I hand-code the source.
I'm sure that other developers will echo my sentiments, which is why this latest revelation will have ramifications that extend far beyond the tools division. The acknowledgement that Microsoft's visual tools approach has stalled -- that writing quality code now often means working around the very frameworks being forced down our throats -- should cause an epiphany among the company's loyal tools customers.
After all, if you already know that you'll be skipping the latest version of the XYZ widget in favor of your own, time-tested, hand-crafted routines, why bother upgrading? It's not like Microsoft is going to cut you off anytime soon. There are simply too many legacy Windows desktops out there to risk breaking the antiquated coding models upon which countless developers continue to base their applications.
And that's how Google may ultimately hurt Microsoft: by wooing away disaffected programmers with promises of glory and recognition in the new frontier. Then, as the market for traditionally developed, shrink-wrapped software dries up (you know it will), the last of the stragglers -- the ones driven not by pride or professionalism, but simply greed -- will finally jump ship.
The great Windows brain drain will then be complete -- and the Web will be better for it.