Earlier quoted context omitted.
Honestly, it depends what you're developing in. If you're developing in .NET, Windows isn't a bad platform. Anything else, and Windows starts to feel like a second-class citizen. For instance, a lot of tools written in Ruby tend to assume a Unix-like environment, even though the language itself is cross-platform. The other problem with Windows is that it doesn't make a very good server, and it's often useful to devel…
Windows is surely a better server than OS X. Also, the tool set for web development on Windows is very mature and stable. 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.