If you're just coding higher level stuff
in php or python or perl, you're unlikely
to get bitten by MacOS/Linux differences,
but the same can be said for (an appropriately
set up) Windows development machine.
If you're tuning databases or hacking
middleware or performance tuning your NoSQL
backend or in memory cache, you really need
to be doing that on the closest you can get
to the deployment platform.
Even if you are running the same OS on your development machine that you are running on your deployment target, you likely aren't going to be able to do that performance tuning on your development machine because the hardware is likely to be too different. The server is likely to have a different amount of memory, cache, number of cores, and an I/O system with significantly different performance characteristics.For php sure, but not really for python or ruby OSX/Linux are much better supported and it is so much easier to use tools like rvm and virtualenv on linux/OSX. Perl I don't have much experience (How easy is it to use something like CPAN and/or mod_perl on windows?)
I really can't see the advantage of Windows if you aren't building to deploy on Windows.
Internet Explorer should probably be an afterthought unless you are going directly to supporting enterprise.
I agree with the build and deploy on the same platform thing but from what I have seen there are a large amount of tools available on Macs not to mention things like photoshop and the like being supported that might make it more advantageous to develop there and still have a similar system to what you are deploying on.
The wrong reason to do this is just 'cos MacBooks are more fashionable than Dells...
The issue would be resolved with a copy of VirtualBox, Vagrant and some proper f'ing configuration management that can be replicated on a local developer environment ;)
If you're just coding higher level stuff in php or python or perl, you're unlikely to get bitten by MaaOS/Linux differences, but the same can be said for (an appropriately set up) Windows development machine.
If you're tuning databases or hacking middleware or performance tuning your NoSQL backend or in memory cache, you really need to be doing that on the closest you can get to the deployment platform.
One big plus to doing web app development on Windows is not having to switch out of MacoS (or Linux) to do Internet Explorer testing...