I'm not sure what's with all the bad comments about Windows. As in all things tech, the answer is: "it depends." I've developed on all the major platforms. Currently, it's Windows because we're a Windows shop. Newer frameworks play mostly well with Windows, but there are challenges to getting things set up properly. However, I could say the same thing about Linux and Mac. I can't remember the last time I installed a framework, following instructions to the letter and having it just work. It rarely happens. I'm always having to install some other dependencies and there are always some unforeseen issues along the way. It's not an OS-specific problem.
The real answer should be: use what your employer uses. If you're independent or for home use, use what you're comfortable with.
About the only other major consideration is price. What can you afford? Macs aren't cheap. A beefy Windows machine is still cheaper than a low-end Mac. But, Macs do allow you to do practically any development you want, including iOS. Since Linux-specific machines are more typically expense (I have no idea why this is, but that's been my experience) you're better off with running it in a VM, or buying a Windows machine, blowing away Windows and installing Linux (or setting up a dual-boot system.)