C++ Development Tools

April 4, 2010 — 12 Comments

When I wrote my C++ Programming: Visual QuickStart Guide book back in 2005 (with co-auth0r Andreas Signer), I had to decide what software to recommend for C++ beginners. As with most languages, full-time experienced programmers may like serious, complete tools, or commercial products, but I often find that software on that level can provide too much of a learning curve for someone simultaneously trying to learn a programming language. What I like to recommend in my books is software that’s approachable, reliable, and, preferably, free. So, for the C++ book, I recommend Bloodshed’s Dev-C++ for Windows.

At that time, Dev-C++ was more or less a standard for beginners (and it was free). I used either version 4 or the beta of version 5 for the book and for years readers seemed to be fine with Dev-C++. Now it seems that either Dev-C++ is no more or just not a good enough option. The Dev-C++ Web site is down, although I don’t know yet if the site is down for good. You can still download Dev-++ from Sourceforge, but it’s the five-year old version.

In searching for good alternatives to Dev-C++ (I don’t use Windows regularly, so couldn’t make a recommend on that myself), I came across a post about why you shouldn’t use Dev-C++. That writer recommended Programmer’s Notepad, Code::Blocks (which also runs on Mac OS X and Linux), and the free edition of Microsoft’s Visual Studio.  I haven’t used any of these, so I can’t personally recommend them, although I have used the full version of Microsoft’s Visual Studio (years ago for C# programming in ASP.NET), and can attest to how good it is as an IDE. In the comments to that post, some readers still say that Dev-C++ is so much easier to learn with than the others, so I wouldn’t rule that out entirely.

If you enjoyed this post, then please consider following me using your favorite social media, the RSS feed, and/or by subscribing to my newsletter. Or go crazy, and buy one or more of my books . Thanks!

12 responses to C++ Development Tools

  1. > some readers still say that Dev-C++ is so much easier
    > to learn with than the others, so I wouldn’t rule that
    > out entirely.

    Dev-C++ should never be used; in cases where someone is considering Dev-C++ for ease-of-use and is unwilling to use a more modern option wxDev-C++ (an updated version with some new features) should be the go-to choice.

    • Well, I don’t feel as strongly about it as you do, but thanks for recommendation. My only concern with wxDev-C++ is people getting confused about the addition of wxWidgets to what they’re doing. Still, good to have (free) options.

  2. My college C++ professor recommended installing the Cygwin suite to make Windows useful for developing in general, and then using GCC programs along with general *nix utils with the command line. The actual editor he recommended is called Crimson Editor, and it’s not bad. (I think anything other than Notepad is pretty much acceptable for beginners.) I’m in the crowd where “Linux is my IDE”, and take advantage of lots of separate tools instead of one big bloated IDE that something like Visual Studio presents.

    • Thanks for sharing. I am familiar with Crimson Editor, although I don’t think I’ve ever used it for C++ development. But, yes, anything is better than Notepad!

  3. I’m taking a C++ class and the professor wanted us to use the 2005 version of Visual Studio, but because I have Vista I have to use the 2008 version. It works fine, I guess, since I have no other experience with C++.
    However, I would like to mention that the flowcharting software he recommends is a Godsend: http://raptor.martincarlisle.com/
    It’s a little quirky, but once we saw HOW to use it, programming C++ was much easier to understand. If you are doing a lot of decisions – it’s a great help because it will do your code for you. You have to clean it up, but you didn’t have to write it all.

  4. Hello Larry,

    About finding a good IDE for beginners, I think Code::Blocks and CodeLight will do the job. Especially CodeLight, it’s just install, create new project, give it a name, next next next and there is the first Hello World project. Just hit the Build button and than run…

    It’s that easy, for real beginners it might be useful to add the steps for creating a new project. The good thing about those two IDEs is they have built in debugger and windows to read the watch values and local values and so on.

    Learning to program is one thing, but learning to debug is another. 80% of your time is debugging, so they should learn that too!

  5. I don’t know very many good ide’s but a good, command line c compiler is mingw.
    It is far easier to install than cygwin, you are not presented with a bewildering array of installation options, and installation is far quicker. A full download will let you conpile, c, c++, fortran, and openc.
    To compile in c, enter:- gcc -g programName.c -o programName.exe

    To run your program enter:- ./programName.exe

    If your program has a runtime error

    enter gdb programName.exe

    then enter r at the prompt.

    This allows you to run your program until it reaches its trouble spot.

    Mingw is not as simple as a good ide but it’s still pretty good.

    Also Eclipse can be used for c or c++ development as well, see the Eclipse website.

    As for text-editors, I use notepad++, i think it’s a great free text editor and it’s open source so you can see the editor’s source code. Pretty cool.

  6. It’s my understanding that Orwell took over development of Dev-C++ after bloodshed.
    The current stable version is 5.4.2 which was updated 2013-05-26.
    The sourceforge link is: http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/

Comments are great, but I'd strongly prefer any requests for assistance get made in the support forums. Thanks!