When I started my C++ class in college last year, the first thing we (the students) were required to do, was to find an IDE for the class. After some configuration headaches the professor made it standard for us all to use the same one, but it didn’t suit everybody’s tastes. With so many out there, it’s hard to find one to objectively label as the “best” but with some tips, maybe I can set you on the way to picking one that suits you.
The IDE that was made standard in my programming class was Netbeans 7.1. The IDE is cross platform, and easy to configure if you run anything other than Windows. Us Windows users had a very long and complicated tutorial to follow on the class website for getting Netbeans to work, which only then worked half the time as the tutorial was written for version 6.9 of Netbeans. Netbeans does not come packaged with a compiler, causing all of the above headaches.
As far as general usability when you do get it configured though, Netbeans is one of my favorite IDEs to work with. It has a large support base for a variety of languages, with syntax highlighting, easy refactoring, and version control built in. It generates make files by itself, so you don’t have to edit it every time you add or remove a file from your project. It also has a plugin system that allows you to extend the base IDE just about any way you want. Netbeans is free and open source.
One of the IDE’s that several students showed up to class using was Bloodshed’s Dev-C++. It is saddening to see how popular this IDE still is; probably only because it is a relatively small download, and is bundled with a compiler, making the configuration non-existant. However, the IDE has not been updated in a long time. In fact, looking at the git repository where the code is hosted, it has not had a single code change since 2005. It does not feature a debugger, or any kind of syntax highlighting. It may have been up to date when it released, but there are other, much more feature-full solutions out there, that are also free. I would stay away from Dev-C++.
An IDE I have been hearing about more often here recently is Code::Blocks. While I have not used it myself, it touts a large feature set, while looking much more lightweight than others. In fact, I would compare it closely with Netbeans; like Netbeans it does not ship with a compiler, is open source, and extensible through plugins. It has syntax highlighting, code completion, smart indenting, and a fully featured debugger. It even has a neat to-do list built in for you to keep track of where you are in large projects. It is cross platform like Netbeans, but is written in C++, compared to Netbeans which is written in Java, so it should perform better on slower systems. I will definitely be giving it a try on my next project, you should too.
Of course we can’t talk about C++ IDEs without mentioning Microsoft Visual Studio. Although if you are an open-source kinda person like I am (why are you using this IDE anyway in that case), you will take offense at the newest version of Visual Studio, as Visual Studio 11 Express will only allow development of Windows 8 Metro apps. Thats right, to develop standalone Windows applications you will need to shell out $499 for Visual Studio 11 Pro. Visual Studio is a decent IDE, with lots of support for developing Windows applications, but I know I will not be using it any more unless I am specifically writing a Metro app. Not when there are other solutions that function just as well, if not better, and are not only free but open source.
Whether you are an experienced developer or just getting started, whichever IDE you decide to use, keep it updated and keep an ear to the ground for new ones with bigger, better features. The tech world is evolving so fast that we can’t afford to be left behind.