So I will ask, give us even one example of something that Linux is capable of that Windows is not capable of doing.
I suppose you mean at a desktop computer, because otherwise one could go endlessly about all the embedded uses of Linux. Considering applications, I would say both systems are pretty much equivalent these days. I can’t think of any application in either Linux or Windows that doesn’t have an equivalent in the other system. I mean other than viruses, of course, that seems to be a category of “applications” where Linux is still very much behind… 😉
The biggest advantage of Linux over Windows for me is ease of use and that seems to be an interesting advantage, because Windows is predominantly GUI oriented. A graphic interface is better for some jobs, a text interface is better for others, just like a spoon is better for eating soup and a fork is better for steak.
Try to automate any task in Windows, it’s a real pain in the ass. Programmers often end doing things through kludges like Excel macros for the lack of a good text-based interface. For instance, let’s say you were sent a project that has dozens of directories with thousands of files in it. Let’s say you want to rename all *.jpeg files to *.jpg. How would you do that in Windows? In VMS that would be a piece of cake, in a Unix system it’s more complicated, for i in *.jpeg; do mv $i `echo $i | sed s/jpeg$/jpg/ – ` ; done or something like that would do it, but the easiest way to do it in Windows that I can think of would be a VB program.
Ironically, ease of installation, which is often cited by XP users as an advantage of Windows over Linux, seems to be one of the areas where Linux shines. I have created a standard system configuration script with a dozen or so functions, one for each type of application. There are functions for DVD playing, scientific applications, office applications, graphics, development, electronic circuits design, etc. When I install a Linux system, I install the basic system and run my script, after uncommenting the function calls for the types of applications I want in that computer. Then it’s just a matter of waiting until apt-get does its job. No need to insert CDs, no need to click anywhere, no need to run setup.exe, no need to mix and match all the *.DLL files each application expects and best of all, no reboots after installation.
I think both Linux and Windows have made progress in the last ten years, and one should always consider that. It’s stupid to compare Kubuntu with Windows95, or XP with a terminal-based Linux install. But in my opinion, Linux has evolved much more – both because Windows was more mature ten years ago and because Linux has some real advantages. I think being an open and free system is an advantage in that people make it evolve towards what the users prefer, rather than what marketing decides. Another advantage is that Unix has an excellent basic conception. Windows evolved over DOS, a system whose basic conception was to make it run in the available hardware of 1981. The emphasis on GUI solutions, the lack of a good scripting system language, and the need to maintain compatibility with the DOS roots are limitations that make Windows inferior to Linux.