I see a lot of people asking about the out-of-date and un-maintained BloodShed Dev-C++ IDE, and I would like to briefly explain why using this tool is a bad idea, as well as pointing out a few of the excellent alternatives that are available.
- Dev-C++ has not been updated since 2005, and is not currently maintained.
- The software is very buggy. At the time of my writing there are 340 known bugs that will never be fixed.
- It’s hard to get help, because the programming community have moved on to newer software.
- Dev-C++ lacks features that are present in more modern solutions.
- Code completion, intellisense, and proper debugging facilities (among others) are not provided. These tools can greatly improve the workflow and efficiency of an experienced programmer, and may aid the learning of beginners.
- Error messages and the steps required to solve them are poorly documented compared to more modern solutions, and because most programmers have moved on from Dev-C++ it can be difficult (if not impossible) to find anyone who is able to help you. Some problems may not be able to be solved at all.
- The compiler included with Dev-C++ is very out-dated, and buggy. An out-dated compiler can result in buggy and inefficient code, and may be damaging to the learning process for a beginner.
- The provided “devpack” system is no longer supported by modern libraries. Using external libraries in Dev-C++ can be a confusing and difficult process for beginners who are expecting this simple system to handle it for them.
There are plenty of modern, freely available alternatives that do not suffer from the same problems, and it is simply ridiculous that any beginner should end up using such a horrible and out-dated tool as Dev-C++.
What are the alternatives?
- There are a number of alternatives available, but my personal recommendation is Microsoft’s Visual Studio Express Edition. This is a professional-quality compiler and development environment provided free of charge (even for commercial projects!) and is extremely popular amongst developers. The additional features offered in the commercially available versions are not things a beginner or hobbyist developer is likely to miss.
- Another freely available and open-sourced alternative is the Code::Blocks development environment. Be sure to use the up-to-date “nightly builds” rather than the slightly out-dated “stable release”.
- Those who really want a lower-level environment without all the bells and whistles should consider any syntax-highlighting text editor rather than resorting to a sub-standard IDE. Programmer’s Notepad is one such popular option. Be aware that you will need to understand working with your compiler’s command line options.
- Lastly, those who really don’t want to let go of Dev-C++ — and I would urge you to seriously consider any of the alternatives above — should at least use an updated version. There are currently two different recently updated versions of Dev-C++ which should not suffer from all of the problems outlined above: Orwell Dev-C++, and wxDev-C++. Of the two, I would probably suggest the more recently updated Orwell Dev-C++. For a more detailed look at these options take a read of “should I use an updated version of Dev-C++?“
Given this wealth of options there is simply no need to use the original Bloodshed Dev-C++. It is very old, very buggy, and not maintained, and you are very probably hampering your learning and development efforts if you continue to use it.
Note: this article is an updated version of the 2008 post formerly hosted at http://www.jasonbadams.net/20081218/why-you-shouldnt-use-dev-c/