Saturday, September 13, 2008

Random Rant - Part 2

MS DOS was selling well, and after a few versions, it sparked the development of Windows. Windows 1.0 ~ 9x was basically a complicated graphical user interface that wraps around MS DOS, whose code base has been developed on for years and years and has grown significantly (20mb, omg!). It had a major flaw however - the inability to multitask. So, when progressing to Windows 3.0, MS had to add so many libraries for GUI and also for multitasking. The problem is... it was getting bigger and bigger, although a revolutionary piece of software, was in danger of becoming a piece of bloatware.

It was aforementioned (in part 1) that Microsoft practices extreme programming. While the library grew bigger and bigger, the implementation bugs in Windows API also piled up, and programmers were exploiting those bugs! Then, as MS wanted to fix things, they had to add new functions to the API, which is basically a copy of the old function, but without the bug. Then we found new bugs on the new supposedly bug-free version too! Then thus we have so many versions of the same thing circling around each successing version of Windows. This is definitely not a good thing.

Windows XP attempted to solve the problem of having a bloated and fragile codebase by taking out old out-dated stuff and package them into compatibility modes. It sounded good, but unfortunately Microsoft did not have the guts to do it thoroughly. XP was still a big codebase, and the one after - Vista, was many times bigger.

To be continued in Part 3

No comments:

Post a Comment