I just stumbled over “The Rise of “Worse is Better”“. The article deals with the “get it right the first time” and the “get it as right as possible” dilemma. In Software development, you often have a situation where you don’t know enough for “get it right 100%” and you don’t have the time to learn. Or “get it right 100%” just isn’t possible.
In the end, “do it as good as you can” is, all things considered, better than the alternative. Or as Bill Gates allegedly said: “Windows doesn’t contain any bugs which any big number of users wants to have fixed.”
Which explains nicely why programming languages which strive for perfectionism (like Lisp) never really caught on. There are just too few perfectionists – and it’s a recessive trait.
well, it all depends on how big you need a ‘big number’ to be.
Imagine that it would need 1% of the users to be unhappy. Microsoft sold over 100 million Windows 7 licenses, which seems to amount to 10% of all PCs out there (according to http://techie-buzz.com/microsoft/100-million-windows-7-licences.html) which means it needs more than 10 million unhappy people to reach that 1%.
Most people don’t even know how computers work and since they don’t know, if the damn thing crashes, they think “I must have done something wrong.” The number of computer professionals, who could understand where the error originates and how to solve it is much, much smaller. So this leads to an OS that the professional users hate since none of the bugs that bug them ever get fixed: They simply never get important enough.
The discussion about the many bugs left in Windows Vista shows that Microsoft is aware of most of the bugs in their products but economics dictate that it’s just not worth to fix them. New features sell software, not bug fixes.