DevC++, Visual Studio, Ch, Vim, gedit, what else?

+4  A: 

Check this out.

Iulian Şerbănoiu
I include Windows in my Poll ;P
Abhishek Mishra
+4  A: 

Bloodshead if you're looking for something simple and easy to use, and Windows

Dan Williams
Last update was 2005. Does anyone maintain Bloodshead?
Doug T.
It´s not maintened anymore.
Decio Lira
Code::Blocks is worlds better than Bloodshead ever was. And it's actively maintained!
If Code::Blocks doesn't require you to put system("PAUSE"); before returning from main() -- or any such unportable hack -- then it has my vote!
system PAUSE
@system- everyone can just use cin.get()
@DMan - The #2 FAQ at http://www.bloodshed.net/faq.html says to do it this way, and I have seen hundreds of students blindly adopt this horrid practice. But `cin.get()` is hardly better! NetBeans, Eclipse CDT, and others can show you stdout without requiring any such hack. Even *vim* can! If an IDE imposes changes to your code, it is a profoundly broken tool and should be thrown out.
system PAUSE
@system- Haven't used those IDE's, what do they do instead of cin.get()?
@DMan - They show the output and, if necessary, do the "press a key to continue" as part of the IDE itself. No change is required to your code. So when you finish debugging, and deploy and run your program outside the IDE, you don't go "Hey, why doesn't the program finish? Is there some infinite loop? Oh, oops... gotta hit a key."There are many situations where hitting a key is not possible in a production environment: scripts (especially login scripts), policy utilities, utilities intended for pipelines, daemons/services, command-line programs invoked by GUI without a terminal window, etc.
system PAUSE
+42  A: 

Definitely - Visual Studio + the following plugins installed:

Here is also a list with recommended Visual Studio extensions: http://stackoverflow.com/questions/2757357/visual-studio-2010-recommended-extensions

I work in Linux. Hard to get VS working for me.
Yes I'm also used to Linux, gcc and stuff. But I have to say developing in VS is much more comfortable, I especially liked the graphical debugger.. You may consider developing under windows, as you can use VS and gcc there.
Thanks for the suggestion of VisualAssist. Giving it a dl. Looks great
Dan Revell
VS Absolutely Rocks! The - Best - IDE - Ever!
Mehrdad Afshari
Would you consider enumerating plugins you use? It'd be helpful. Also, do you use latest version of VS, or earlier one?
Alexander Abramov
Yes, sorry that I didn't do it earlier.
Rockscroll is another awesome plugin for VS.
@tloach - NetBeans or Eclipse on Linux .
+1  A: 

Under Windows, I'd suggest Visual Studio Express. Free and the feature set (especially the excellent debugger) can't be beat.

+2  A: 

One that works best for you. I don't think there is a universal IDE that will fit everyone.

If you are developing a Microsoft C++ app, Visual Studio might be the logical choice. If you are working in a *nix environment, then vim or emacs is a good bet (again, depending on your needs).

Can you tell us more about what kind of projects you are working on?

Jonathan Arkell
+11  A: 

Eclipse and the CDT (C/C++ Development Toolkit) is quickly becoming a favorite of mine. The editor could use some work, but the extensibility of Eclipse via plug-ins is a great way to "create your own" IDE...

CDT is not exactly a high priority project compared to the Java support in eclipse..

basically I'm working on programming challenges coming up in topcoder.com & spoj.pl so I need to keep writing many small apps quickly and comfortably. Right now DevC++ suits the most, while on linux vim comes handy, any other IDE which might save me more time on these contests? (PS: It's not a project dev, but rapid coding and finding faster smarter solutions => space for fast experiments by code modifications)

Abhishek Mishra
+3  A: 

I prefer netbeans ide for C/C++ netbeans C++. You can test your code, document, use all the available plugins to enhance your productivity.

I have tried eclipse but I like netbeans more...

I've used both for Java development and the latest Eclipse was way more stable.
+9  A: 

C and C++ are of course much older than Java, and are still the languages of choice for many high-profile open-source projects. Based on that, on could guess there would be many other strong cross-platform and open-source C/C++ IDEs. You’ll find that NetBeans C/C++ Pack may be the strongest one around, however. Let’s look at some C/C++ Pack’s competitors.


DevCPP is very popular among Windows developers. It’s lightweight, well supported, and, like NetBeans, relies on external make tools and C/C++ compilers. Additionally, it supports a wide variety of C/C++ compilers. Though DevCPP is written using Borland Delphi, an attempt to port it to Linux (using Kylix) failed. So DevCPP is not an option for cross-platform C/C++ development.


The Watcom C/C++ compiler is cross-platform but offers no Unix support; it targets Windows and OS/2. Though not very user-friendly, it comes with an integrated debugger and a help system. It was once the compiler of choice for high-performance C/C++ applications, with its enhanced code optimizer and support for all Intel processor variants. When Sybase bought Watcom, though, the C/C++ compilers and IDEs fell into obscurity. Later the tools were released as open-source software. Nowadays, it looks like the community project is going well, but there’s still no support for Unix and Linux systems. This makes OpenWatcom essentially a Windows-only IDE and not suitable for our purposes.


Anjuta is based on the complete GNU toolset for C/C++ development. In addition to the tools supported by C/C++ Pack, it supports the GNU Autotools, a set of scripts that simplifies generating Makefiles for multiple operating systems and compilers. It’s also focused on GNOME development, so it provides templates for GTK, Gnome and Glade applications.

While DevCPP and OpenWatcom are Windows-only, Anjuta and KDeveloper (see next) are Unix-only. Some users have reported success running both under Cygwin, but they are still far from providing robust support for compiling and debugging native Windows applications.

For Unix developers, Anjuta provides integrated access to man pages and GNOME documentation. Its integrated debugger, like C/C++ Pack, relies on GDB. The latest releases provide integration with Glade, the Gnome visual UI builder.


Everything said before about Anjuta applies to KDevelop, if you just replace GTK/Glade/GNOME with Qt/QtDesigner/KDE. Anjuta and KDevelop are strong C/C++ IDEs for open-source desktops, but they don’t cut it as cross-platform IDEs.

Eclipse CDT

C/C++ development support in Eclipse is almost as old as Eclipse IDE itself, but it has not matured as fast as the support for Java. Although currently labeled as release 4.0, Eclipse CDT doesn’t provide many features beyond those in NetBeans C/C++ Pack (which is younger).

Also like NetBeans, Eclipse CDT doesn’t integrate yet with visual development tools for Gnome, KDE or Windows. It has the advantage of supporting compilers other than the GNU compilers, but this won’t be a real plus if your goal is developing cross-platform C code.

Red Hat is developing GNU Autotools and RPM generation plug-ins which, when they are released as production level, may become Eclipse CDT’s real advantage over NetBeans C/C++ Pack (at least for Unix/Linux users). On the other hand, NetBeans is the development IDE for Open Solaris, so don’t expect it to fall short in enhancements for Unix developers.


The only flaw one would find in C/C++ Pack, comparing it to other open-source alternatives for C/C++ development, is the lack of operating-system and third-party library documentation support in the help system. That would be also its main drawback when compared to proprietary C/C++ IDEs. But if you evaluate alternatives for cross-platform C/C++ development, the strongest (and only) competitor for NetBeans is also its main competitor in the Java space, that is, Eclipse.

Abhishek Mishra
Trolltech has been offering Qt4 Eclipse integration plug-in for a while. With CDT 5.0 and Qt4 Eclipse Integration 1.4 it makes a decent development environment for Qt4 C++ Applications
How is it in such a large list you missed Code::Blocks?
+5  A: 

I'd vote for Visual Studio plus VisualAssist as an add-on.

+2  A: 

Best by what measure? This isn't a question, this is an invitation to discussion. And is "integrated" best?

Unix is the original development environment, and probably still the "best" (by my metrics). Part of its power is that it is not "integrated". But I guess you could argue that with plugins IDEs stop being integrated as well.

If your metrics are something like "lets brain-damaged programmers appear to be productive", you might want to choose something like Visual Studio or Eclipse.

+1 for hinting that VS or Eclipse are for brain damaged programmers
Adam Hawes
+17  A: 

Seems that nobody mentioned Code::Blocks.

It works equally well on Linux and Windows, has support for multiple compilers (for example on windows I use it to compile the library I'm writing with gcc, Digital Mars C, Borland C and Microsoft C++) to check if I did not came across an incompatibility).

Abhishek Mishra
Visual Studio is the clear winner for large commercial projects. But beyond that, I love the simplicity and lightweight nature of Code::Blocks.I firmly believe you should be able to compile a single source file without HAVING to set up a project.
+3  A: 

I have to agree with visual studio. You can get a cut down version of Visual Studio 2008 (called Express) from Microsoft for free.

Jon Cage
+3  A: 

Visual Studio 2008 (for good code editor)
C++Builder 2009 (for having no problems with boost and other libraries)

+25  A: 
Johannes Schaub - litb
Wow, impressive. Can you post your .emacs file too?
imageshack deleted the image -.-
Johannes Schaub - litb
It's nothing really special. It's emacs itself that makes it look nicely :) It looks that way pretty much by its official release, and just installing ecb and cedet :)
Johannes Schaub - litb

CodeLite a powerful open-source, cross platform IDE for C/C++ is the best after Visual Studio

Rob Kam
+1  A: 
+3  A: 

Visual Slickedit is really nice if you're not interested in VS.

Slickedit is probably one of the best IDEs out there for general programming work. Rumor has it that many of the folks at Microsoft used Slickedit to develop large parts of their codebase. Microsoft's 'intellisense' comes straight from SlickEdit, that's for sure.
Robert P
+2  A: 

A lot of people have said DevC++, and I agree this is one of the best IDEs, but it has some bugs and nobody is working on updating it at the moment. For that reason, I usually use wxDevC++, which was designed for use of wxWidgets, but they also managed to fix some of the bugs in DevC++.

A lot of people who learn C++ using Dev-C++ will also, unfortunately, acquire the ridiculous habit of putting system("PAUSE"); at the end of their programs. This is unportable and an absurd coding practice.
system PAUSE

here are your opensource choices that might be as fast as Bloodshed...:

CodeBlocks (Opensource, still ongoing development)
Relo IDE

+2  A: 

I'm fond of KDevelop. Has worked well for me in the past.

Visual Studio is better in a lot of ways, but it's big, slow and not free - neither free as in freedom nor as in beer (yes, I'm aware of Express, which is good for many things; however it does lack some features such as OpenMP and a 64-bit compiler, whereas KDevelop isn't crippleware). I use VS when work is paying for it, but I'm not willing to spend that much of my own money on it.

+3  A: 

Why do you need an IDE?

VIM is all you need for anything. Learn VIM and Makefiles and you'll be set for anything.

Adam Hawes

I am surprised none recommended Source Insight . It is an excellent Source Browser and very easy to use Source Editor.

+5  A: 

Qt Creator is gaining popularity for those who like the Qt toolkit and cross-platform development! I hope they keep it unbloated in future versions...


Visual Studio/C++ simply because its on a very short list of systems with edit-and-continue.


I used Eclipse a loot for developing C++ on linux, however i switched to gvim a while ago and found it to be really satisfying.


XCode all the way for Mac!

+2  A: 

As someone who occasionally needs to do remote *nix development using a Windows machine, I have personally found BVRDE to be incredibly useful: http://sourceforge.net/projects/bvrde/

The BVRDE is a fully integrated development environment (IDE) for remote cross-platform compiling and debugging of UNIX and LINUX console applications. BVRDE runs on a Windows platform, but compiles and debugs applications on UNIX systems.

Screenshot of BVRDE in action

+3  A: 

I use

Prasoon Saurav