As many papers still conclude that Linux is not up to par to Windows, I could not resist looking at this from the other side.
This article is based on my real experiences with Windows XP on one of my laptops and several work-related encounters in the last few years. But it is written with a considerable amount of "cheekiness" (as in my opinion are the Linux-is-no-good-yet articles of other authors).
The company Microsoft is promoting its operating system called Windows XP as a solution for all professional IT workers. As the news of this are spreading many geeks are looking into testing Windows or even migrating to it.
I took several weekends' time to test some features of the system that are important for me. This article does of course not take everything into account that a modern system has to offer - you have to draw the line somewhere.
I tested against the usual geek activities:
Listening to Music is one of the things that simply have to work in the background, so that the ventilator noise of the high-powered PC/Laptop doesn't annoy the modern geek's feeling of sound aesthetics.
Programming with C/C++ as the main use of a computer had of course the major focus on itself.
Web browsing as the main source of information had been tested quite a bit (I didn't overdo it though, since I still have my Linux box).
e-mailing as the major means of communication had to be tested.
Out-of-the-box security tools were briefly checked.
Writing documentation is a lower, but still important task, so I did a few experiments with the so called "Office" suite.
I did not perform any consistent and formal lab testing. I did not even go to one of the recommended courses one can spend entire fortunes on. All that stems from various experiences while using Windows in many different scenarios.
Come on, nobody does correct testing any more. I'm just the first one to admit it!
There are enough graphical tools to keep the system running. One can configure the network card, create new user accounts, etc.pp. The tools are laid out in a usable manner. Of course there is still room to improve the logic, but that would lead too far.
What is sorely missing is a usable command line. The default shell of Windows (cmd.exe) feels like an old bourne shell from the 70's with all the tools missing. Almost all the basic tools (like cat, grep, cut, etc.) are missing in the standard distribution. Only the registry has a usable command line interface.
It is funny that one has to download and install a free software suite (like cygwin or msys) in order to have at least a bit of that functionality, since Microsoft continuously repeats that its software is far superior to the loathed free software.
More advanced tool that let one change expert settings (like the MAC of the network card) are also missing. I could not even find a tool to configure a network card to use multiple IP addresses or to route between two cards. One has to buy expensive add-ons to accomplish such simple tasks.
Since the newest versions of Windows it comes with a pre-installed firewall. Though I did not do extensive experiments with it, it seems to fall far behind in comparison with Netfilter on Linux.
Windows comes with a multimedia studio preinstalled, that supposedly runs any kind of sound and video file. While it is a fine program to run video files, it is not completely up to par with modern MP3/Ogg players - it does not even run Ogg files.
The reader is advised to download the free (as in beer) WinAmp program. As soon as this is installed it becomes almost as nice an experience as with any other operating system.
Windows comes with a preinstalled browser, the Internet Explorer. Its feeling is as horrible as its security reputation. I really don't understand what's all the fuss about this thing - it is unusable.
IE up to version 6 misses almost all experiences of the modern browser gives the user. It feels like Netscape 2.
In short: the reader is advised to ignore this supposed browser and download Mozilla Firefox.
Windows is plagued with a plethora of worms, viruses and other liabilities to ones mental health. One is strongly advised to not connect a freshly installed Windows directly to the Internet in order to download the necessary patches and tools to secure it - the average infection time is far shorter (under one minute!) than the download time (five minutes up to half an hour). Instead one should connect through at least a simple hardware router or a Linux-box.
One should definitely plan in the costs of a firewall product and at least one virus scanner (including updates!).
Microsoft offers two versions of a program called Outlook. A home user edition called Outlook Express and a supposedly professional version called Outlook.
The "professional" Outlook is not much better than the simple Outlook Express if you do not plan to use it in conjunction with the (aptly named) Exchange Mail server (plan several thousand Euros and a couple of server computers for this). Both are not very useful as mail clients.
So if one does not need the groupware functionality of Outlook because the own company insists on it, it is advisable to download any other free mail client and be much happier with it.
Windows comes with only two very rudimentary editors: Notepad and Wordpad. Notepad is extremely basic in its functionality and understands only files with the native line ending style ("\r\n") it is very much like those things every computer science student does as a semester work in the "programming basics" course. Wordpad has a bit more functionality, but is cluttered with functions for text highlighting, which seem misplaced there. It does not have any of the features one expects in a modern editor, like syntax highlighting, auto-indenting, etc.
Fortunately there are plenty of freeware editors out there (like a XEmacs port to Windows), but one has to wade through the depths of the Internet to find a suitable one, they do not come pre-packaged as most geeks are accustomed to.
The Office suite comes in different bundles costing several hundred Euros for the most basic parts up to over a thousand Euros for the full featured one. Seeing that it is not compatible to anything anyway there is no reason for paying that much - one can download OpenOffice for free and have a better choice together with it.
As mentioned above: one has to come around the problem of finding a good editor first. If one uses Microsofts own Visual Studio IDE one gets a very fine editor. The IDE itself is nearly up to par with tools like KDevelop.
For someone accustomed to gcc the Microsoft compiler will come as a step backwards. It lacks a lot of the features of gcc, supports only C++ and only one platform: Windows. The make tool (nmake.exe) of Microsoft is still where other implementations were in the early 80'ies. It doesn't know pattern rules for example. For someone who wants to work with the IDE only this might be acceptable, but it is definitely a hindrance for cross-platform builds. Since a proper shell is missing there are nearly none of the tools a normal developer is accustomed to: there is no ldd, no nm, no ar, etc.
For some reason Microsoft seems to consider itself above petty standards like the ELF specification. Executables and dynamic libraries use a proprietary file format that has various drawbacks, eg:
Fortunately a lot of this can be helped with cygwin or msys which both include proper make implementations and gcc. Unfortunately Windows is unable to execute anything but its proprietary file format, so the drawbacks of this still apply.
The cost side is immense and definitely out of reach for any normal geek.
While Windows XP Home is delivered with almost any PC, this is only a very restricted distribution, that seems to target users who are happy with not working with the PC. XP Professional costs several hundred Euro extra (depending on the PC vendor).
An out-of-the-box Windows contains only very few programs. It is possible to start the GUI (actually it is not possible to not start it). There is a browser (Internet Explorer) installed and it is possible to create a dial-in configuration to go into the Internet. Windows comes with only one CD, so it is no wonder that all important applications (programming tools, etc.) are missing.
The Microsoft programming environment has a list price of about 2000 EUR on Amazon. Since the library coming with it is virtually unusable one will have to spend about the same price on a widget library that earns its name, like Qt.
After several weekends spent on this "operating system" I simply have to conclude that Windows cannot compete with Linux yet. Neither in price nor in functionality, and definitely not in customizability.
The graphical user interface feels consistent and intuitive in most parts, but there are enough oddities left to confuse not only the novice user, but also the expert. But I have hope that Microsoft can fix these as soon as they get around to installing a usability project like KDE and Gnome have already done.
The native shell of this system can only be called a joke. A lot of work is left for Microsoft.
The programming environment is definitely not usable. Microsoft should start to work on support for ELF binaries and libraries immediately. The homebrewn format Windows is using currently is simply not comparable to state of the art technology in the new millenium.
The amount of software delivered with their various distributions is certainly not worth the price tag. They could do well with taking a leaf out of the Linux distributors' books.