graphical user interface: Windows vs. X Window ? winner Windows.
document processinging: MS Office vs. Open Office ? winner Windows
shell: PowerShell vs. bash or tc shell ? winner Linux, Linux, Linux.
scripting: batch vs. bash scripts or myriad of Linux scripting options ? winner Linux, Linux, Linux.
tools like grep, find, awk, pipes help so much. The windows counterpart of these utilities are very awkward.
scheduling Scheduled Tasks vs. cron ? winner tie.
application layer network protocol support:
scp: winner Linux
ssh: winner Linux
ftp: winner Linux
telnet: tied (although it is a better user experience on Linux)
remote administration:
remote desktop connection vs. ssh ? winner Linux
remote usage: (for example, using a remote system to perform ui related tasks such writing a document)
remote desktop connection vs. x windows ? winner windows
task management:
depends:
process management:
task manager vs. Linux process management ? winner Linux (very important for production deployed applications with many nodes)
ui related processes:
task manager vs. Linux process management ? winner windows (not so important for a production system with many nodes)
Overall, I find Windows suitable for document writing, media viewing, and web browsing. However, I find the tools necessary for administrating a group of machines, their processes, and networking support much stronger in Linux.
I believe a good system can be architected for both Windows and Linux, however, I truly believe that enterprise Linux systems really shine in management, administration, and diagnosis.
I believe that if there are many nodes in your architecture, you’ll have an easier time in the long run in one built on Linux.
Finally, the java platform runs very well on windows or Linux, however, .NET doesn’t. Although .NET provides a very nice platform for writing applications, the fact that the only good distributions of it are available only for the Windows platform really hurts it in my opinion. Also, I disagree with the issue of costs. If there is a time when you truly need to scale out, and you built your system on open-source, you’re going to save so much money.
Regardless, this is not about good vs. . evil in my opinion. If you know .NET and Windows better, then perhaps that is the winning edge you need to get to market faster.
By the way, this list would be different if we included MacOS, which I recommend as a client or desktop system. However, my argument is based on production systems.
Keep up the good work!
]]>