The other problem with Windows is that it doesn't make a very good server, and it's often useful to develop on the same OS you'll be eventually deploying to.
The other problem with Windows is that it doesn't make a very good server, and it's often useful to develop on the same OS you'll be eventually deploying to.
Google is making a business decision here: it is too expensive for them to support Windows at the level of security they desire, which is likely a higher standard than most software development shops, and perhaps many banks.
I've been unable to find anything equivalent to Puppet or Chef on Windows. Might I enquire what tools you use for managing Windows servers?
That said, I doubt I'd ever actually use an OSX server. There's little difference in functionality between an OSX server and a Linux server, and Linux servers have no licensing costs to worry about. Currently we're developing on OSX and Linux desktops, and deploying to Linux servers.
"Also, the tool set for web development on Windows is very mature and stable."
For .NET, maybe. Not for something like Ruby, I'm afraid. Also, we haven't found any good way of deploying to Windows. I'd be curious how you manage deploying applications to a Windows server.
This is ignoring PHP (one of the biggest web dev languages) and Python which do just as well on both.
Also I have never seen the need to develop on the same platform as your server (if your using a local server, well, then that makes sense - but it's not the best workflow and, in addition, that is not a limitation of the development but of the server requirements :))
I won't disagree Ruby is better on Linux though.
I tried RoR on Windows, and it is a second class citizen IMO, so I switched to Python/Django, and I've been happy since. Python/Django are pretty blissfully OS agnostic.
I've looked into powershell, but remote powershell isn't much better than shell scripts executed over SSH (and in some ways worse). Tools like Capistrano, Puppet, Chef, etc. don't seem to exist for Windows as yet.
OS X is pretty Unixy and has the ability to run virtually all the Unixy server stuff that runs on other Unixy platforms which are generally considered top tier server platforms. It's entirely possible that Windows is a better server, but you can't expect people to accept a statement like that on its face. Please provide some evidence.