I don't know if it's me or them, but I find The Register to be quite boring. I used to love the site, but now I don't like half of the articles, and some of the other content can be found on BBC News/Sky News. If it weren't for BOFH, which appears roughly every Friday afternoon, I'd probably abandon it altogether.
A recent article that showed up over the weekend and annoyed me was this one
. Entitled "Vista - End of the Dream?", it starts off complaining about an open source program that is bloated and buggy - which isn't surprising given that it's only on version 0.7. Yes, it's fair to criticise the developers for taking so long to develop the application, and it's arguably fair to criticise the choice of language, but considering the title mentions Vista, I wasn't quite sure where the article was going. Then I reached Vista, or more specifically that XP was going to be supplied again by Dell, as many customers wanted XP over Vista.
Then, just as we reach the word Vista, we "backtrack a little" to the old days of MSDOS and its clean code. Not too surprising, considering it didn't really do much. Then we jump to 2004, when XP was around, and part of the source code for Windows 2000 was leaked onto the internet. The sources contained many now-famous comments including "We are morons", and Dave Jewell (the author of this article) describes it as "a vast sprawl of spaghetti in assembler, C, C++, all held together with blu-tack". It was still 4 years old code. And nearly another 3 years have passed since then.
Jewell states that "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". But I don't think that's the problem. If you followed one of the links he gives in his article
, you come across this more balanced review of the source code:
In short, there is nothing really surprising in this leak. Microsoft does not steal open-source code. Their older code is flaky, their modern code excellent. Their programmers are skilled and enthusiastic. Problems are generally due to a trade-off of current quality against vast hardware, software and backward compatibility.
So, based on code written back in 2000, before Microsoft started breaking compatability in order to improve security (Windows XP SP2), and before the Secure Design Lifecycle (SDL) kicked in, their modern code was already "excellent". This pretty much contradicts what Jewell has said, which he claims is a problem for XP and Vista - despite no actual knowledge of the source code for these versions (admittedly, XP was 5.1 with few changes to the 5.0 code, but Vista is a major 6.0 release). And the dodgy code in 2000 is generally only there to provide backwards compatability, which probably isn't too much of a problem for newly developed things like WinFS, especially if they don't plan on backporting it (like DirectX 10 wasn't backported although I suspect that's partly for business reasons to encourage adoption of Vista). The modern code doesn't sound unmaintainable, if anything you'd expect them to revisit the older code and remove/replace/update it. Give that it's been 7 years, they probably already have.
And yet Jewell likes to repeat the word throughout the rest of his article. He doesn't even attempt to explain the reasons why he thinks the "unmaintainable" code has led to "people scratching their heads wondering what other advantages there are in upgrading your graphics card and adding another GByte of RAM" - even though, for example, the graphics drivers are now in user mode instead of kernel, which improves stability, and the entirely new display model has presumably meant virtually a complete rewrite of the old (arguably "unmaintainable") code.
He also says "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" - which is no surprise given the tiny market share and the virtual monopoly Apple has over the hardware they have to support. And as Yamahito pointed out to me, 10.4.9 has a fair number of problems (and I gather 10.4.6 had loads of trouble too). You can see the problems with a quick search on Google
The comments left on the article
sum up most of my concerns. Jewell has even left a comment that says:
One thing's for sure: "generally excellent" code can't be immediately equated with good design. An individual brick might be a great brick, but that doesn't mean you'll get a great house when you put a few million of em together...
Well I think he's right, just because you can spell, string a few sentences together, split them into paragraphs and put them in the right order on a page, it doesn't mean you can write a good article.