It is said that Medieval architects learned to build cathedrals by adding blocks until the structure fell down, and then trying it again a little differently. At some point, though, limestone and flying buttresses reached their physical limits – one can build a Gothic cathedral only so high, no matter the design.
Microsoft announced yesterday that the consumer version of
The consumer wing of the Windows cathedral has fallen down, to no-one’s great surprise. The Windows code base was known to be at the limits of engineerability even when Windows XP shipped. The delay in Longhorn was the first admission that it might be inching over the cliff.
Many mundane reasons are given for the delay: security, usability, backward compatibility, etc. The underlying reason is the business decision, which goes back at least to the integration of IE into the OS (a decision that’s recently been reversed), that an integrated Microsoft code hairball was the best way to lock in customers and prevent the break-up of the company.
I must now retract the physical analogy which led this post. While cute, it’s wildly inappropriate. A large software system and a big building have very little in common, structurally or in engineering terms. Software doesn’t suffer from gravity, pieces can’t be easily isolated, it’s complexity is vastly greater.
And yet… using concrete metaphors to think about abstractions is perhaps the deepest reason (physical metaphor ;-) why