When comparing CentOS vs Windows, the Slant community recommends CentOS for most people. In the question“What are the best server OSes?” CentOS is ranked 4th while Windows is ranked 10th. The most important reason people chose CentOS is:
CentOS favours stability over being up-to date. For this reason it ships with packages that may be up to two years behind in order to ensure stability over everything else. Using older versions for packages means that they have been thoroughly tested and used in production for quite some time, and are ensured to play well with each-other. This strategy has paid off quite a lot in the past. One example is the Heartbleed bug which left CentOS unaffected since it was using a two-year old OpenSSL library which did not have the bug.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Greatly favours stability over anything else
CentOS favours stability over being up-to date. For this reason it ships with packages that may be up to two years behind in order to ensure stability over everything else.
Using older versions for packages means that they have been thoroughly tested and used in production for quite some time, and are ensured to play well with each-other.
This strategy has paid off quite a lot in the past. One example is the Heartbleed bug which left CentOS unaffected since it was using a two-year old OpenSSL library which did not have the bug.
Pro Applications don't have to take into account potentially breaking changes in libraries
Since CentOS backports all updates and bug fixes to older versions in order to maintain package compatibility across releases, applications hosted on Red Hat Linux don't have to worry about potential breaking changes in libraries they use, especially language libraries.
Pro Good long term support
Pro Built-in disaster recovery solutions through clusters
CentOS has several built-in solutions for disaster recovery. For example, it comes with pacemaker which can be configured to manage multi-site and and stretch clusters across multiple geographical locations for disaster recovery and scalability. It can also be configured to trigger notifications when the status of a managed cluster changes by using enhanced pacemaker alerts.
Pro Supports multiple PHP versions
You can install multiple PHP versions and have them available for different users.
Pro Built-in support for containers
Comes with built-in management tools for containers (Atomic CLI, Cockpit) and a container runtime in the form of Docker engine.
Pro Best driver support of any OS
No other OS comes close to supporting as much hardware as Windows 10 does. Because it's the most popular OS, the bulk of hardware manufacturers support Windows first, and all other operating systems second.
Pro Widely used
Windows is the most-used desktop OS in the world.
Pro Windows comes first
Windows is the most used platform in the world. If you build something and need a third-party software it will most likely run on Windows. Not because it's good, but because everyone uses it.
Pro Free access to great development IDE in Visual Studio Community
Pro Ubuntu bash shell
Windows has a binary compatible Ubuntu shell to run non-Windows apps natively.
https://msdn.microsoft.com/en-au/commandline/wsl/about
Pro Stable
Pro The most solid choice for .NET development
Pro Free with most new computers
At least the non-Apple variety at any rate.
Pro Touch screen support
You still can't get touch support on a Mac. Windows has had touch for 5+ years now.
Pro Best support for Visual Basic
Cons
Con Uses more resources than most alternatives
Con Most software is closed source, including the operating system itself
Con Weak default terminal
The standard terminal lacks basic features that Linux and OSX has. Alternatives to the default terminal for Window can be found here.
Con Lacks package management
It is not easy to install/keep current development packages that developers need and use.
Con Limited in its flexibility
Window managers, startup systems, and system components cannot be changed.
Con There are some privacy issues
By definition, it's spyware. Pre-compromised OS.
Con Scanning for viruses makes builds slow
Compiling a project means reading and writing a lot of files. Even fast anti-virus software slows down the build time (which is almost always too long).
Con Update policy / scheduling is a nightmare
Pop-up to update your system that will restart it if you don't interact quick enough and will have to be in reboot mode, which can freeze your activity until the update is done.
Con Unstable and slow
Windows crashes often and is much slower than alternatives, especially at file IO, which is important for developers.
Con Maintenance is time-consuming
Previous versions needed to be formatted ever 6 months to maintain performance.
Con Embarrassing to give talks
On conferences or in user groups the audience laugh at speakers presenting their talk on a Windows machine.