As far as desktop systems go, for email, internet and basic office functionality, there’s no denying that Windows rules the roost. I would argue that Linux is actually not difficult to set up and use, it’s just different and probably has a perception problem, but therein lies the problem.
But from a developers point of view using Linux as the platform has many advantages over Windows. Try writing a simple “Hello world” program in C or C++ on a fresh Windows install an then compile and run it. You can’t.
Simply put, most Linux distributions come with compilers (gcc in this case) installed out of the box and many more are available with an ‘apt-get’ or ‘yum install’ command. You don’t even have to do this from the command line these days as most distributions have friendly graphical install programs that put anything Windows has to shame.
Want Python or Perl, Apache or MySQL again it’s a few clicks away along with hundreds (thousands?) of other tools. Plus once they’re installed the OS takes care of notifying you (and optionally installing) any updates so you’ll never be left with 3 year old, unpatched software on your computer.
The last time I checked my Windows install I had many applications that were way out of date but the effort required to check up and manually update each one individually was just too much effort.
On a related note I have been using Eclipse as my IDE of choice, mainly because of it’s support of both Python and C++ using the Pydev and CDT modules. So I thought I’d give it a try on Windows.
After downloading and installing Python then installing the Pydev module, getting Python to work was not too difficult. Next came C++ support, it involves installing MinGW following the instructions on download page, then configuring Eclipse using these instructions.
If you’re very lucky it will all work first time, but don’t count on it. And god help you if you decide to update any packages at a later date.
Compared to all this the development tools on Linux are a breeze. Linux may or may not be ready for the desktop for the average user (if there is such a person) but when it comes to the power user or developer it’s already ahead in my books.