IMHO I prefer using Windows, because, even if I'm a developer and I have a good understanding not even of the software functionalities, but also of the hardware logics, I dislike to do something using a long path or command line were using Windows I can do it in less time using my mouse, or with a reduced command line. IMHO, Linux is also bad for developers, because it lacks of serious debuggers. GDB isn't really the state of the art, as it ofter didn't realize where the segmentation faults are. Windows offers debugging services even if you don't have IDEs installed, make virtuall all the errors (sometimes even the Blue Screen of Death errors) undestandable and patchable. Also, sometimes with the debugger services, Windows can even realize in wich sourcecode line of the executable the error fired, even if you haven't the sourcecode. GDB cannot do this, and make me frustrating to wait for the (huge) kernel core dumps to write, then to think about witch process of my software crashed, and then try to understand what caused it using the internal command line of GDB. After this is your choice.