A brief chat with Microsoft’s head of software development, Soma Somasegar, left me feeling deeply nostalgic. Memories of the old “blue box, yellow box” debate that once raged at Apple came flooding back. This revolved around the thesis that you can never reduce complexity, and that even the appearance of reducing complexity merely adds to it.
I wanted Soma to shed some light on the conundrum of today’s PC performance. A typical £500 PC on sale today has more than 1,000 times the raw clock speed and over 10,000 times the storage capacity of the machines we used 10 years ago, and yet they seem sluggish compared with the 1990s vintage.
The problem, Soma said, is complexity. The primary cause, as he sees it, is the need to allow programmers of all flavours to produce code, without forcing them to learn the One True Language.
I have a programmer friend who strongly agrees. “Take the situation of a web page. Using a common scripting system like PHP, I can support 100 simultaneous users across the internet,” my chum says. “But the web server will in fact still support the C language. If I write the same application in C it will be a few dozen kilobytes long – compared to multiple megabytes – and it will run so much faster that I can literally support 1,000 simultaneous users on a very old machine indeed without going to disk cache.”
The interesting thing is that Soma seems to agree. If I understand his argument correctly, he thinks he can do something about it.
In essence, one reason that the Windows platform is as complex as it is is the need to support the common runtime environment. But, he thinks, the time has come to start questioning just how much code needs to be inside that.
If you’re striving to make Windows into the equivalent of a mainframe OS, then you have to fill the bag pretty full. But, he suggests, for most Windows machines this is overkill.
And over the next two or three years, he thinks the bloated package we have to load today will be able to “go on a diet” and slim down, making it smaller, quicker and more reliable. A distinct improvement, if it works, but I can’t help feeling the complexity will actually get worse.





reader comments