Bob Moore's Coding Tips

Give Me a Platform Microsoft. But Not That One

The one thing I want from Microsoft is a platform. A sound reliable platform on which my software can run.

A platform allows me to develop my software, gives me the APIs I need, and doesn't get in my way. Most of all, what I need from that platform is stability. The knowledge that the code I write today will work with the OS, and the shell won't get in the way, confuse the user, interfere with my program or otherwise be lame. NT4 was pretty good in this respect. OK, it had the games, but I can forgive minesweeper.

But there seems to be a faction in Microsoft that isn't remotely interested in supplying a platform. That actively degrades the shell, puts garbage into it, and generally increases the lameness of Windows, not to mention the entropy of the universe. The rot set in when Jim Allchin, for entirely commercial reasons, persuaded Bill to integrate the browser into the shell. Now we have Internet Explorer, Instant Messenger, Media Player and, God knows what else with their fingers buried deep in the system. Now half the time when our Windows machines keel over, it's Explorer that's the culprit. Bill should have listened to Brad Silverberg.

What do all these bolt-ons have to do with providing a platform ? Nothing. Nothing.

And when the unsettling states said they wanted modular Windows (something I would kill for), what did Microsoft do ? They threw their toys out the pram. God forbid they should be forced to provide us with what we actually need, oh no. It's more important that they're allowed to throw the kitchen sink in there, just in case there's a chance that a kitchen sink manufacturer might be in a position to compete with them one day.

So is .Net the platform now ? Not if you want decent performance it isn't. I tried creating a trivial .Net application when Visual Studio .Net first shipped, and was horrified at the performance I saw. Only Java is worse. Performance is KING. When two apps compete and they are functional equals, what does the consumer decide on ? Performance, every time. Where is my incentive to port an application to .Net if I know that a competitor who stays in the native code camp will kick my ass in any competitive evaluation, simply because his code performs better ? It's no good Microsoft banging on about .Net code being just as good once its JITted, because I need my apps to run fast EVERY time they're run, including the first. Anyone who develops for the .Net platform fights their competition wearing a ball and chain, and you'd have to be nuts to do it.

.Net has the downside of Java (abysmal performance), without even its one upside (cross-platform capability).

I despair that Microsoft will ever again play the part they so badly need to play in our industry : to be the provider of the playing field we can all shine on as developers - a stable usable software platform.

opinions page

home