While I think this question would need a little editing to avoid being an invite to a flamewar, I'll add some feedback:<p><pre><code> - I personally prefer linux (used to be Ubuntu, but now fedora or mint).
- I used to prefer KDE and might be moving back in a few months when I get some better graphic card, although gnome 3 seems like a huge step in right direction.
- I work together with people who love Macs, and I've been doing most of my paid work on a MBP for a couple of years. Still don't like it. Made me understand that usability is in the eye of the beholder.
- Win 7 is great, but once you have to do a lot of the work in the terminal, it quickly becomes tiring. Also, getting a snappy setup on most prebuilt systems w/o reinstalling everything from scratch seems hard.</code></pre>
Use virtual machines!<p>It is one of the better "best practices" you can practice.<p>Keep whatever Windows came with your computer, install VMWare, and then spin up a new virtual machine to experiment/test in whatever other OS you want w/o mucking-up your base OS. Plus, if you hose your virtual machine, it is easy to revert it to a previous, okay, state by restoring to a snapshot.
Windows; the Win32 API is great to develop applications. Microsoft puts an emphasis on maintaining software backwards compatibility.<p><pre><code> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { ... }</code></pre>
Linux has traditionally been the hacker's choice but OS X has gained popularity recently and Windows is so far from being a competitor.<p>Also, it would help telling us what you're developing cause that could change things quite drastically.
I use Arch Linux with gnome, to program in php and java. I think its brilliant, quick and stable. It took me some time to get it all working, but it was worth of it.