What I don't like about VC++ is that it does not use fully standard C++. Often it will only run on THAT system, too, as they don't want you distributing apps. I also hate having dependencies such as .net when all I want to do is code a tiny little app that I want to put on a USB stick or something. Most of the stuff I code will tend to be a single .cpp file. It's requirement for creating a project for everything is another annoyance. I want to be able to open a .cpp file and click compile, done. If I want something more involved like icons then I'll do a project.
One quirk that has always made me laugh... only MS would pull this, is this:
Code:
for(int i=0;i<10;i++)
{
//some code
}
int i=0;
This code will not compile. In standard C++ the i should fall out of scope at the end of the loop. In VC++ however, it does not. So when I try to declare i again it will error out saying you are trying to redeclare it. Sure the fix is easy, but this could cause a shit storm if you are porting code over to it which may reuse variable names. Technically it's probably bad practice to do that, but there are situations where it may happen.
The reasons in the article not to use dev C++ don't really apply to me. I don't code many large scale apps in Windows. It's usually just tiny little helper apps or w/e.
Code blocks is nice though, but It does not seem to handle resources (like icons and stuff) like dev C++ does.