I used to be the type of person that recommended whatever I used to everyone else, but I've since realized that what I like may not be appropriate for everyone. I used DOS for quite sometime and then moved slowly into the Windows world. I have helped countless people with their Windows boxes troubleshooting device problems and have dealt extensively with Windows 3.x,95 and a bit with 98.
I never knew there was anything else available for the x86 architecture. After being introduced to Linux I found it difficult to use and went back to Windows, frustrated that I couldn't figure it out. At school I used HP-UX for most of my CS classes and got to be very comfortable with it. I liked it better than Windows because it was so configurable and versatile. When I realized that Linux was just as easy to configure I started using it again, and spent time reading the documentation to figure things out.
It was rather painful at first having to use the documentation for every command, and it was a very steep learning curve, but once I figured things out it wasn't too hard to get my machine to work. Coming from a Windows world I hadn't needed to use documentation, because I could just figure out whatever I needed to do. Another difference I've observed is that with Windows it's very easy to get things working initially but when they stop working it's very hard to figure out why. The solution is generally to reboot your machine or if that doesn't work to reinstall. In the world of Linux it's quite often difficult to get things setup correctly, especially since drivers for new hardware take a lot longer to be written. However, once you get the system setup correctly, it will keep on working.
A perfect example of this is my family's computer. I installed Windows 95 and went off to school, only to hear about numerous problems with it crashing and not working correctly. The next time I was home, I installed Mandrake (a Linux distribution) and after the complaints about it being different and that software that we had that wouldn't run under Linux they began to use it. I only heard about one computer problem the entire year which was that the network connection stopped working. It turned out that the network card had been knocked loose. Even though it worked for them all the time, rarely (if at all) crashed, and I could even do updates and any installs they wanted from 2500 miles away, they asked that I put Windows back on when I returned. The main reasons were so they could use the software they wanted and so they could exchange documents in word format with others.
It was then that I realized that Linux is not for everyone. Some people don't like to be able to configure everything because they're afraid they might break it. Others want what everyone else is using because if they have a problem they can get help easily. I begrudgingly installed Windows again and they have been happy with it. From my standpoint, Linux is the superior operating system because I can get it to do pretty much anything I want and I am very comfortable with it. I feel awkward and frustrated when I'm at a Windows box for any length of time because I can't do what I want.
Another great thing about Linux is that it is open source, which means that you can get the code for your operating system for free. If you don't like something, you can patch the code to fix it. It's also free for anyone which allows you to spend more money on the machine since you don't have to pay for the OS. I get a complete operating system with development tools, browsers and any kind of utility I can think of for free! I will never go back to using Windows, but I don't feel the need to force everyone else to do likewise. What I do ask is that you give it a try, because you never know, you may just like it.
Updated Mar 03, 2009