For years I've only done development work on Unix machines. It's just easier - everything is there, and for the most part it works. Compilers, debuggers, parser generators, they're all there, they're all free and standard.
My memory of Windows development is rather different. You used to need Visual C++ (better yet, full-on Visual Studio), and that meant either a cash layout or a trip to dodgy software land. I have a rule with my new development machine, that there will be absolutely nothing on here that's not 100% legit. That means no Visual Studio, because I refuse to pay that much money for a toolchain and an IDE, however good they might be.
Now I'm trying something different. I have Eclipse, for my sins. I have installed the C/C++ Development Tools (CDT) feature, and now I'm going with MinGW. I have Cygwin as well, but that ties me to the GPL and to having the Cygwin DLL present. I have no problem with the GPL, but it's annoying to not have a choice. So: MinGW it is.
Eclipse is a fine IDE, but it's a complete monster - Visual Studio was a lot easier to grasp at first. I've been using Eclipse for a little while now, and it still feels like I'm barely in control of it. Luckily we spent big on my dev machine, because a lesser laptop would struggle.
To my amazement, the instructions that ship with the CDT are right, the toolchain installed as documented, and the sample application built and ran first time. I almost feel cheated - I was ready for a fight.
