Windows, the nearly universal operating system, has earned itself a host of bitter enemies. Nobody likes it. Windows is buggy, expensive, slow to boot, slow to launch programs, slow to run programs, wide open to malware, and infuriating to program for. Users need to buy, install, and futz with anti virus , anti spyware, and firewalls. Despite the add-on defensive software, viruses (virii?) have taken control of millions of PC's and use them to sent spam, launch distributed denial of service attacks across the web, or perform identity theft on behalf of criminal gangs. Writing Windows drivers for plug-into-the-PC products consumes more engineering effort than creating the product in the first place. Each new release of Windows is slower and consumes more RAM, disk space, and run time than the last. And requires a time consuming rewrite of all those painfully written drivers.
And yet, Windows is the only game in town for those of us in the software business. Nearly every PC runs Windows, so your product has to run under Windows if you expect to sell it. For every Linux or Apple machine, there are a hundred Windows machines. No one will buy a product that doesn't run under Windows. Windows is a fact of life and we are stuck with it until some company offers something better. I'm not holding my breath. IBM tried with OS2 years ago and ancient Windows 3.1 totally destroyed them. The Linux folk have yet to convince ordinary customers to give up Word and Excel for Star Office.
What makes Windows so bad?
It's too damn big. Windows is humungous. It's so big no one understands it any more. The number of bugs is proportional to the number of lines of code, and the number of lines of code in Windows is millions, billions, who knows really. But it's the biggest program in captivity. Which makes it the buggiest. The only way to reduce the bugs and speed it up is to make it smaller.