The reason for this post has been triggered by me reading an excellent article by Dave Jewell called Vista – End of the Dream?. I encourage you to go read the whole thing but I particularly felt a lot of sympathy with his comments about maintainability of code.
Ok puns aside, I don’t know how many of you have tangled with the ever-expanding beast that is Windows in its latest ‘shiny’ form. I was lucky enough to have access to a free copy of Vista through the Microsoft Academic Alliance program at my university.
I’d tried running the Upgrade Wizard thingy to see how poorly my machine held up against these vastly updated hardware requirements. It did ok, apart from the graphics card which didn’t have the support it seems to do Aero, the new shiny desktop environment. If the hype about Aero is to be believed, then if Vista is mainly about Aero then a lot of people won’t be bothered to upgrade just for the sake of scrolling through windows at a jaunty angle.
This is also in stark contrast to the latest versions of Ubuntu and RedHat 7 (due soon) which I’m sure would run on my PC hardware without so much of a squark, and without me needing to go to 3rd party manufacturers websites to see if my now-legacy hardware has Vista drivers.
Personally, I’ve gone off Windows now I’ve been utterly smitten by Apple’s OS X. You really do look at Windows fan-boys rantings as a desperate attempt to carry on the momentum that got Microsoft by reaching world saturation levels with previously great products and now seem themselves to be undermining with Vista.
My next PC purchase when my old XP machine falls over will no doubt be a Mac Pro (or whatever flavour we’re on then). I’ve got a properly registered copy of XP and Parallels virtualisation software if I feel the urge to dabble on the dark side.
Having worked on trying to pick apart other designers code for a couple of years now, even me, as a developer who would’ve grunted and complained when the topic of documentation came up, can see the total and utter need for sensible commenting, layout and supporting design documents.
Dave says of looking through Windows 2000 code:
“I found a vast sprawl of spaghetti in assembler, C, C++, all held together with blu-tack. The sources contained many now-famous comments including “We are morons” and “If you change tabs to spaces, you will be killed! Doing so f***s the build process”.”
And then he moves on to three killer points:
“As you may remember, Windows XP was already out by the time that source code got leaked. In fact, back in 2004, Microsoft had been talking about Longhorn/Vista for three years. Just a few months after the leak, it was announced that WinFS, the flagship relational file system, wouldn’t ship with Vista after all. And I knew why: unmaintainable.
Microsoft have managed to cobble together a new look and feel for Windows, but a lot of folks are scratching their heads wondering what other advantages there are in upgrading your graphics card and adding another GByte of RAM? What’s the reason? Unmaintainable.
In the long years since XP was launched, Apple have come out with five major upgrades to OS X, upgrades which (dare I say it?) install with about as much effort as it takes to brush your teeth in the morning. No nightmare calls to tech-support, no sudden hardware incompatibilities, no hassle. Why hasn’t Microsoft kept up? Unmaintainable.
Right now, Microsoft has nowhere to run, and nowhere to hide. After all the hype surrounding Vista, the Emperor has finally been revealed in all his naked glory. Some folks have been predicting the demise of Microsoft. I wouldn’t go that far, but I am wondering how we’re ever going to take Microsoft seriously again?”
© The Register.
It’s a good point. From lecturers telling me how many ways there are to call the same functionality in Windows, how rubbish it is at multi-threading, and from reading The Old New Thing, a blog from a Microsoft coding expert about the frustration of how much legacy support they’ve kept in Windows over the years (how they amended Windows 98 code just to make SimCity work) just proves how unmaintainable Windows is these days.
There was talk about an internal project in Microsoft where a team was stripping the kernel bare and starting afresh. This surely needs to be given more priority, or are Microsoft going to take up Linux development and release their own flavour, binning their kernel as too complex?
Ok rant over, back to working on my lovely MacBook Pro. All is calm and serene again. 🙂