I still see a lot of people using the out-of-date and unmaintained Bloodshed Dev-C++ IDE (Integrated Development Environment), and I’d like to briefly explain why this is a bad idea as well as pointing any interested readers toward a couple of good alternatives.
- Dev-C++ has not been updated since 2005 and is not currently maintained. Given the availability of newer software packages the majority of the programming community has moved on from Dev-C++, making it hard (sometimes impossible) to find help with any issues you may have. Bugs which are currently present in the software are unlikely to ever be fixed; according to the SourceForge listing, at the time of writing there are 340 known bugs.
- Dev-C++ lacks many of the features of newer IDEs such as good intellisense or code-completion support and a fully featured debugger. These things can greatly improve workflow for a more experienced programmer and are a minimal hassle for a confused beginner to simply ignore until ready. Given the obscure bugs that often arise and are hard to find support for it isn’t worth it for a beginner to choose Dev-C++ as a simpler environment; if a simpler environment is really the goal then something like Programmer’s Notepad would be a far more suitable choice.
- Following on from point #2, the debugging facilities provided by Dev-C++ are far inferior to those available in other free options and can be very confusing to use. A good debugger is nearly essential to skilled programmers, and debugging is a skill that should be learned by all beginners at a reasonably early stage.
- Error messages and the steps required to solve them are not well documented when compared to other free solutions, and as mentioned above it can be difficult to find other users who are still familiar enough with the software to help.
- The compiler that ships with the Dev-C++ IDE is outdated. This is easily fixed, but it is not obvious to a beginner that this should be done or how they could go about doing it.
- The “devpack” system provided for working with 3rd party libraries is no longer maintained or supported by many libraries, leading to Devpacks either being unavailable or out of date in many cases. When not working with one of these packages it can be difficult and non-obvious how to otherwise get 3rd party code working in the Dev-C++ environment.
Given the availability of free alternatives it’s amazing anyone still clings to this outdated beast, and frankly quite ridiculous that it ever ends up in the hands of anyone who is just now starting out. To finish up, what are those free alternatives?
- Microsoft Visual C++ 2008 Express Edition is by far the best option when it comes to Windows-based IDEs; it costs nothing, allows commercial distribution of products, and is a fully featured solution including excellent debugging facilities.
- Code::Blocks fills the void once occupied by Dev-C++ as an alternative solution, and can also be used on other platforms. An excellent alternative to the higher-quality MS solution.
- For those who really want a simpler environment, your compiler of choice in combination with Programmer’s Notepad or a similar solution is a far better choice than the outdated and unsupported Dev-C++.