On windows I personally recommend Visual C++ Express. It provides both the IDE and the compiler, it's free and well supported (both by microsoft and online communities).http://www.microsoft.com/visualstudio/e
I won't go for VS since it's closed source, contrary to all other options (Eclipse, Notepad++, etc...). This can mean MS can drop developing this IDE whenever they choose to, and you'll be stuck with an obsolete IDE (look at Turbo Borland). And anyway only guys used to (work with) VS find it great. For all others, it's not that much.
Wololo wrote:Honestly, despite their attempts at making it better, I wouldn't recommend eclipse for anything else than Java, unless you're an eclipse veteran and can't live without it.
Don't agree at all. I use Eclipse for Java, Android, C/C++ and Perl development and it works like a charm... well better than any other anyway, and I've used a lot of them (including VS and Notepad++). Also Eclipse integrates a lot of features VS does not: CVS/SVN/GIT repositories, any documentation source (not only MSDN), PMD, and so on. A lot of plugins are also available and make it very very flexible, something you can definitely not say about VS -which is understandable being MS, you have to do stuff their way or not do it at all-. And I'm no Eclipse veteran, I've been using it since one/two years or so. In fact I've been using VS way much longer than Eclipse, and IMHO Eclipse is way better for all the reasons exposed above.
Also you can't use Visual C++ for anything else than C/C++, which limits its usefulness a lot for me. I use quite a few languages, because each language/technology is suited for a set of problems. And I don't want an IDE for every single language because I don't want to install/learn to use a bunch of IDEs. If one does all the work nicely (which is Eclipse's case), then much better.