Well he did say that they develop in Windows and deploy to Linux, which in my opinion is just weird even if you are working on things like virtual machines and such why are you using windows for that?
I can't see an advantage that favors Windows for linux deployment but I can definitely see an advantage over Windows by using something that behaves more like a linux system (in this case OSX).
On the othe hand, some one recently (maybe Zed Shaw? Or dzubia?) had a great rant about the idiocy of developing on MacOSX when you need to deploy on Linux. Im not sure I completely agree with the rant (being one of e many MacBook toting Linux deployers myself), but there were at least a few points that had me nodding my head in agreement.
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...
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.
>> but the same can be said for (an appropriately set up) Windows development machine.
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.
Strawberry Perl has made CPAN _very_ easy to use on Windows. I don't know about mod_perl, but with Plack there are a lot of great options besides mod_perl for web app deployment.
My last employer developed on Windows and deployed on Solaris (trading software in C++). Chief reason for this was, as anyone who has cross-platform experience will tell you, Visual Studio is a world-class environment. It really beat anything available on Solaris (yes, including Emacs) hands-down. Second reason was that developing cross-platform forces you to keep the codebase clean - when a customer asked for an AIX port, it was easy. If we were a pure Solaris shop, we'd have struggled to know what was clean and what was actually Solaris specific without us realizing.
The wrong reason to do this is just 'cos MacBooks are more fashionable than Dells...
It was Ted who said it and he was pretty much wrong. The issue isn't the platform you develop ON in that case. The issue is lack of a proper per-developer testing environment.
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 ;)
I can't see an advantage that favors Windows for linux deployment but I can definitely see an advantage over Windows by using something that behaves more like a linux system (in this case OSX).