I will attempt to present a non biased analysis of Microsoft operating systems. This article will include the opinions of the author, Jeff Greene. Although I will list some of the arguments that are being used against Microsoft, I will attempt to support those that I agree with and to discredit arguments that seem to be purely based on anti Microsoft rhetoric or can not be supported logically. I intend to dissect Windows and present both reasons to use Windows and reasons not to use Windows so you can make an intelligent decision about your operating system.
First and foremost, you should choose software and hardware based on your needs. Microsoft has done a wonderful job of creating a market and a demand for computers with consumers who otherwise may not have purchased a computer.
If you see a superscript number, it will link to a definition at the end of this article. Click the link for more information. There will also be a link to return to the section you just left.
Here are my arguments both for and against Windows based operating systems.
I believe that the worst thing about Windows (95, 98, ME, NT 4, 2000, and XP) is that third party software is allowed to modify core system files. These files include dll1 files and the Windows Registry.
Problems associated with dll files.
A good example of the problems caused by dll files is found in the first job I had in the technical support field. I worked for a regional ISP2. Dial-Up Networking uses a dll named winsock.dll to establish a network connection to your ISP. This is a Windows core and a system file. (By core, I mean that this file is integral to the operation of your system. Winsock is only used with networking though, so it is a core component of the networking subsystem of Windows.) Other companies, especially in the Windows 95 era would often add functions that their software needed to the existing dll files, therefore if you installed a chat program, or a business application that dialed into the computer of the company that created the program they may include a custom winsock.dll file. The problem is that if they did not coordinate their version with every other company that provided you with a custom winsock.dll, then some of your programs may not work. Another problem is that most of the shared dll files are in the Windows\system, Windows\system32, or winnt\system32 folder.
As an example if you install the programs Superchat, and Business Contacts,
and they each include their own version of winsock.dll ther are several
potential pitfalls that can occur.
Other problems with Microsoft's implementation of dll files is that many of them can not be removed by the uninstallation program when you remove the program that installed the file originally. Therefore if you format your hard drive and install several applications, then uninstall all of them, you will have less free space afterwards than you started with. This may not seem like a problem now that we have 160 gigabyte drives, but software always grows to fill the available hard drive space.
The reasons that I dislike the Registry3 is as follows:
The Registry is the ultimate system file. It contains the settings for your user profile if you have profiles enabled, all of the software you have installed, and the operating system settings. Because it contains all of the settings for Windows, if it becomes corrupted, you may be unable to boot into Windows. Although there are tools to backup and restore the Registry in all versions of Windows that use the Registry, some of these tools are harder to use than others. Since every program that is written in the 'correct method' for Windows writes to the Registry, any program can corrupt the Registry. Do you really want to take a chance on allowing your Word Processor, or a game to wipeout your operating system.
Other problems with the Registry include removing programs or fixing problems with programs. When you uninstall a program, it often leaves a lot of it's entries in the Registry. I can think of some good reasons to do this including:
The following is purely my opinion, however I am surprised that I have not seen it listed anywhere. It will contain an anti Microsoft bias as there is no other way to present the argument.
The lie regarding the integration of Internet Explorer and Windows
Starting with Windows 95 OSR2, Microsoft has integrated IE 4 and later with Windows. They claim that they can not remove IE without destroying Windows or at least making it much less of an operating system than it is. This can not be true.
Assuming Internet Explorer is an integral part of Windows, how is it possible to upgrade to a new version of IE without replacing either your operating system or installing the new version to a completely separate directory than the original version of Internet Explorer. Since Microsoft Claims that IE is so important to the operation of Windows, they should only be allowed to release patches to correct problems with Internet Explorer if they are not creating a new directory to install Internet Explorer when you upgrade. This scenario would require that Microsoft release a version of IE for each Windows platform that it runs on, because since the original Windows 95 and NT4 did not include IE, it would be able to install any version of IE either as an upgrade or as a new installation, however since Windows 98 included IE 4.01, you would need to create a new directory for IE 5 and newer. Windows 2000 and ME would need a new directory for IE 5.01 or 5.5, etc.
Other updates from Microsoft including the newer versions of MDAC4 require that an appropriate version of IE be installed before they will install. This is ridiculous because if I have a server that requires ODBC to connect to a database, but it will never be connected to the Internet and I will not access an intranet with it, I should not need a web browser.
Other Problems
Too many updates from Microsoft can not be removed. These include DirectX and the JavaVM. If you upgrade your version of DirectX and find that the new version is incompatible with your video card, or sound card or any of your existing software, you can not uninstall it.
Common arguments that are not valid
These are arguments that I have read on other web sites and in message boards.
One Hazard Of Never Re-booting
Unix is an operating system that likes to keep running incessantly without ever turning off the machine. Once, a colleague of mine changed a minor detail in the boot scripts of a major server in the Israeli Defense Ministry and didn't immediately test them by re-booting. A typo, however, had crept in. We only found out 3 years later when we had to re-boot after a memory upgrade. My colleague had long left his job and the machine just didn't boot anymore. It was a major hassle to find and fix the problem. Therefore, re-booting a Unix server still makes my pulse go faster.
ISP - Internet Service Provider. Return to 2.
Registry - The Windows registry is a database of almost all of the settings used by Windows starting with Windows 95 and NT4. This database contains the configuration for your personal settings such as the desktop colors, and wallpapers that you use as well as the Windows configuration, and the settings that every application uses. These settings include which components are installed, your perferences for the software if it lets you change them, etc. Return to 3.
MDAC - Microsoft Data Access Components. MDAC is Microsoft's implementation of ODBC and OLEDB. Return to 4.