Windows vs. Linux
Windows or Linux Hosting
Which is "better"? Windows or Linux?
It's often been said that Linux is more secure and much more stable in general, although there is no Linux per se, but many flavors of it. Linux users tend to be sometimes fanatic in their support for their favorite operating system. The power of their convictions may be very impressive, but that shouldn't be the only reason to believe they're right. On the other hand, the average Linux user is somewhat more knowledgeable than the average individual when it comes to computers, so there's a higher chance that he knows what he's talking about.
On the other side, Windows doesn't seem to have that many true fans or they're not that vocal. This might be explained by the fact that the Microsoft company has been involved in quite a few suits which have affected its image, and consequently the image of its products as well.
Desktop vs Server - stability
Many people who are just taking their first steps in "the wonderful world of hosting", assume that, because their desktop computer or the computer that will be used to create the web pages uses Windows, they must look for Windows hosting. That's not true at all. The pages can be created in Windows and hosted on a Linux box and vice versa. There's no problem with that.
Also a confusion/over generalization that is often made is that Windows is just Windows and that it is very buggy, unstable and insecure. There is no Windows though. There are many types of Windows, and they are not the same.
Both Windows 95 and Windows 98 were and are haunted by the dreaded and widely known (though not highly acclaimed) blue screen. While a blue screen would not be a very bad thing, what is bad about it is that you never seem to be able to get out of it. The only thing you can usually do is to reset the computer.
Without any shadow of a doubt, the frequency of the blue screens was and is impressive on the fore-mentioned operating systems, but what's more bewildering about them is that they seem to appear almost "out of the blue" (pun intended) .
I'll give you one example that I've witnessed on a computer that was running Windows 98. Everything was OK, the computer started. A few applications that were always on were loaded as usual (an antivirus, a dictionary and a few other things). The computer was left idle for minutes while my friend and I were talking. When we looked at the screen, it was "blue". Yes, the blue screen was present, signaling a problem and the PC had to be restarted.
Now, what was wrong? What could've been wrong? The applications that were running have never caused any problems before, and nothing "exotic" was running at that time - not to mention that no one was actively using the computer. It's this kind of things that give the Windows family of products a bad name.
Windows XP is a great step forward when it comes to stability and apparently, the main reason for that is that it is based on Windows 2000, which is an OS (operating system) designed for servers. Stability on Windows versions that were designed for servers is much better than the one for desktop (95 & 98 & Me). This goes to prove that Windows 2000 and Windows 2003 are not your average desktop operating system, they are playing in a different league.
Comparing Windows and Linux, one thing that has been often noted is that Linux handles high numbers of processes running at the same time much better than Windows - that Windows' stability decreases faster when more processes run on the machine.
This in the end means that Linux might be able to squeeze more out of the server, but in the hands of a knowledgeable system administrator, a server will perform very well, regardless of the operating system, may it be Windows or Linux.
Linux is free while Windows is all about the money
This is a very popular view. Linux is open source and thrives because of the work of many volunteer programmers. The volume of work they put in and the quality of their work can only be commendable.
Windows, just like Linux, is a product created by the work of many programmers. They however are hired to do a job and they are paid to do it. Microsoft is their employer - a business - and, like any other business, its goal is to make a profit - to make money. That's not seen as a bad thing for any of the small businesses out there, but it is sometimes seen as one when it comes to big companies, especially when the word monopoly comes to be associated with them. Sure, Microsoft did a thing or two do be seen as a "bad guy", but let's not get into that.
Then, which one should you look for?
The decision of going for Windows hosting or Linux hosting should be based on actual needs, not myths. More often than not it should be based on the knowledge that you and/or your staff/business partners/friends have, on the things that you plan do to with your website or on the things you'd prefer to learn.
Basic, static web pages are written in HTML (HyperText Markup Language) which the browser interprets into the web pages as we see them, containing text, tables, images and so on. Pure HTML pages can be hosted on any type of web server, regardless of the operating system.
Dynamic, interactive web pages however, are a different kind of beast and they require powerful programming languages. Now, don't confuse dynamic with animated. There may be animated objects such as gifs on the web pages, but that doesn't make them dynamic. Dynamic pages are those of a forum, of a shopping cart etc. where you send information to the server and the server will store it and do things differently, in accordance with that information.
Some such programming languages are Perl, PHP, ASP, Python, Java etc. PHP and ASP are special with respect to this article due to their popularity and more. PHP is open source and free, while ASP is a Microsoft product.
While the developers of PHP took the necessary steps to make PHP usable on Windows based machines, Microsoft apparently (and unsurprisingly) saw little reason to make ASP usable on anything else than Windows.
Other companies and people are working on to port ASP on others operating systems, but, while their efforts are definitely appreciated, and they have already made giant steps towards their goal, the solutions so far are only partial. Full use of ASP functions/capabilities on other operating systems besides Windows is not available yet.
To date, as I said, ASP and ASP.NET are fully usable only on Windows. I will try to stay on top of this and find out when a complete, ready for production, cross platform solution will be released by a company or anyone else for that matter, but until that time, if you plan to use ASP, you'd better stick to using Windows for your hosting. It's the safer choice.
PHP was developed by the open source community, much of which is gathered around Linux. Linux, Apache, PHP and MySQL form a well known combination and they are known to work very well together.
Fortunately PHP works well on the Windows-IIS (Internet Information Services) platform too, which means that PHP scripts will work on a Windows machine as well (although a few changes in the scripts might be necessary).
PHP gained its popularity quite rapidly and it is renowned for being free, fast and powerful. Add to that the big number of scripts (many of which are free) that are written in PHP, the abundant information on just about every PHP related subject, and you can understand why PHP becomes the choice of ever more users.
Making the choice
Windows as a hosting platform has at least one big advantage: full use of ASP and ASP.NET. If your plan to use ASP because your employees know ASP or because it does a better job for your specific application, Windows hosting is the best choice right now.
Good thing is that PHP is not confined to Linux and it works quite well on Windows. If, at a later time, you decide to use PHP for certain things, you can do so without much worry, provided that your host has PHP on that server, of course.
Back to Linux - while it is not yet able to take full advantage of ASP, it is a very popular choice as an operating system for web servers. It is widely acclaimed for its stability and that has to count for something. While Windows' instability, although it might be somewhat anecdotal, is a subject that is often discussed, Linux's stability is almost undisputed.
Price and availability
Although Linux is known to be free and it basically is, some disputes over total cost of ownership as an operating system for web servers, do exist. Certain studies revealed that Windows might be cheaper to use than Linux in time and under certain conditions. Not surprisingly though, the sponsor behind these studies was Microsoft (in one form or another). Of course, counter studies exist also and they - of course - state the exact opposite. There's a war out there, you know?
If you want to read more about this you could try searching on Google for "windows linux cost of ownership".
While the "big guys" run their numbers and fancy extrapolations, in the real world, for one reason or another, Linux hosting is generally cheaper than Windows hosting, meaning that a dedicated server running Linux will cost less than a dedicated server running Windows. Moving this into the "shared hosting" space, one can obtain more web space and data transfer for the same amount of money if he chooses Linux.
Now, another thing to notice is that most hosts offer Linux based plans, so finding a good Linux hosting company might prove easier. Not that there's a lack of hosts offering Windows hosting. No! There are thousands of hosts out there and there's a serious offer of Windows hosting, just not in the numbers that Linux is.
So, what then?
Personally I would use Linux as the "default option" because of its widespread use, renowned stability, reliability and level of security and - why not mention - lower costs. However, some things are not available on the Linux platform. If your needs cannot be fully met by a Linux server, but they can be by a Windows server, then that's the time when Windows will definitely be the better choice.