Why we've deprecated Dev-C++.

Pages: 12
Good afternoon males, females, natural hermaphrodites, unnatural hermaphrodites, unsexed, androgens, androids, blackberries, geeks, nerds, intelligent trousers, wabbits, wabbit stews, fork bombs, monkey derivatives, etc, etc, etc...

This article will discuss the IDE known as Dev-C++, which seems to be in common usage. More specifically, I will be discussing why we try to steer people away from using Dev-C++, and what you can do if you are a Dev-C++ user. This article does not apply to wxDev-C++.

Why we've deprecated Dev-C++


It all boils down to one reason:
Dev-C++ hasn't been updated since 2005.

From there, there are 3 main problems with the lack of any updating.
The included MinGW is obsolete.

The many known bugs may never be fixed.

The IDE lacks the features of more modern IDEs.

I'll go over each of these in order.

The included MinGW is obsolete.


MinGW is an irregular acronym which stands for "Minimalist GNU for Windows". It includes a various set of tools commonly found on many *nixes including the g++ compiler and gdb debugger, which Dev-C++ makes use of.

A problem with Dev-C++ not being updated in computer centuries is that the bundled MinGW is several years old, and as a result the compiler doesn't work nearly as well on new systems as a hot-out-of-the-oven dish of MinGW's g++ would. It's a whole major version behind...

The many known bugs may never be fixed.


Dev-C++ is no longer being cared for, if you will. The latest version (Dev-C++ 4.9.9.2) has currently 340 known bugs, and possibly more that are not accounted for. Also, due to the fact that the dev-packs system is no longer being updated, that feature itself has also become broken, with many packs being either obsolete or no longer existent.

The lead developer has stated in 2006 that due to personal issues he will not be working on Dev-C++.

The IDE lacks some of the features of more modern IDEs.


Dev-C++'s debugging utilities are... also old. A debugger is an essential utility for any programmer at any level, and I have heard complaints of the Dev-C++ debugging interface being confusing.

In addition, the code completion and intellisense-like features are lagging behind the times as well.

What you can do if you're using Dev-C++


Completely switch IDEs

This is the option I recommend, considering the formidable alternatives. I did not include options that I am certain are only for platforms other than Windows (XCode 4).

The list of good free IDEs includes but is not limited to:

1- Code::Blocks -> http://www.codeblocks.org/downloads
2- Visual Studio C++ Express -> http://www.microsoft.com/express/Downloads/#2010-Visual-CPP
3- Netbeans -> http://netbeans.org/downloads/
4- Eclipse -> http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliossr1
5- QT Creator -> http://qt.nokia.com/downloads (scroll down a bit to download it as a standalone)

Eclipse has a little bit of a learning curve, just as a warning.

Make the change to wxDev-C++

This is the recommended option if you really like Dev-C++. wxDev-C++ is being updated, it's a bit more modern, it features a designer for wxWidgets should you want to create GUI applications, and finally as the name implies it is based on the original.

You can download wxDev-C++ here: http://wxdsgn.sourceforge.net/?q=node/4

Go minimalist

This isn't an option I recommend too highly for some, however using a minimalist text editor + makefiles + a terminal is something I enjoy as a development option, and I'm sure there are others who would as well.

Possible lightweight editors include but are not limited to:

1- Programmer's Notepad -> http://www.pnotepad.org/download/
2- Geany -> http://www.geany.org/Download/Releases#windowsBinaries
3- Nano -> http://www.nano-editor.org/download.php
4- Vim -> http://www.vim.org/download.php
5- Emacs -> http://www.gnu.org/software/emacs/#Obtaining
6- Notepad++ -> http://notepad-plus-plus.org/download

Update Dev-C++

I recommend this option the least considering the problems you might run into with the IDE itself, however if you're highly reluctant to change to even wxDev-C++ then at least update the included MinGW.

I cannot give the specifics of how to do this, unfortunately, as I am incapable of even installing Dev-C++. However, you would probably end up doing a few searches for MinGW-related files, removing them, and the installing the new MinGW. Be careful doing this, though, as having two versions of MinGW might trigger linker errors (undefined reference to __cpu_features_init).

In conclusion...


While Dev-C++ might be easy, that does not mean that you should stick with it. To quote Moschops from here: http://cplusplus.com/forum/beginner/43898/#msg237572
Nailing my feet to the floor is easier than using my own muscles to balance, but you don't see me doing that :)


-Albatross

EDIT1: Added some useful hyperlinks.
EDIT2: Fixed the bullet points.
EDIT3: Put the pluses back in the article. Also updated the wxDev-C++ download link.
EDIT4: Added QT Creator and Notepad++. Thank you Danellos and immutable!
EDIT5: I just *had* to include a quite by Moschops at the end. :)
Last edited on
closed account (zb0S216C)
Nice article, Albatross. If this doesn't get the message across, I don't know what will.
I would like to see one of these for Borland as well...
...someone's still using Borland? O_o

-Albatross
closed account (S6k9GNh0)
Borland? What's that!?
What's wrong with Borland? Their compilers and IDEs dominated in the early '90s... There was a time when they made great products.

It's interesting to see reactions to old compilers on the forum. I think many of you will be surprised to find out what companies are still using...
Borland was fine back then. It's out of date now. They still make great products for full ALM, many of which I use today.

moorecm wrote:
I think many of you will be surprised to find out what companies are still using...


There is a slim to none chance that Borland's old IDE is still in use in the US. It seems to be heavily utilized over in Indian and Pakistani Universities though.
In 2002/3 I was still using Borland C++ 3.5 professionally... (LOL)

I can't speak for more recent Borland compilers, but I can say from experience that their older ones generated horrendously terrible code. Like for instance:

1
2
3
4
5
bool b = blah();
if( b == false )
{
    // do this
}


Actually generated two compares, not one. First, it compared "b" against zero (false) to set the flags register. Then, it would test the "Z" bit in the flags register against 0 to see if it should jump around the body.

In 2002/3 I was still using Borland C++ 3.5 professionally... (LOL)

I can't speak for more recent Borland compilers, but I can say from experience that their older ones generated horrendously terrible code. Like for instance:

1
2
3
4
5
bool b = blah();
if( b == false )
{
    // do this
}


Actually generated two compares, not one. First, it compared "b" against zero (false) to set the flags register. Then, it would test the "Z" bit in the flags register against 0 to see if it should jump around the body.

I would like to see one of these for Borland as well...
... and Visual Studio 6 ...
Good article.

I was actually using Wxdev-c++ until recently when I switched to Code::Blocks
I'm still using Dev-c++ because it's all I could get. The longer I have it the more it annoys me. It's not so bad that getting a new IDE is an absolute priority, but I've encountered a few bugs.
The reason it's hard to get others is because I have dial-up. :-(
Is there any chance that you could use a local college or high-school's internet connection, download an installer for the IDE onto a flash drive, take it home, and bypass the use of your dial-up internet connection?

-Albatross
It's possible that the reason s/he has a dial-up connection is because s/he lives in a rural area, in which case there probably won't be a local college or high school with a better connection. If there's a town or city nearby there will be, and if not, there's probably a public library or Internet café somewhere...
@Albatross: You've suggested that before. I'm not really familiar with the college at all, and there's little chance I'd be able to download at my high school. They block a lot of sites and all .exe downloads, and I'm not learning C++ for a class. My best bet would be to go to the public library, or maybe I could just download it overnight (hopefully) at home.

@chrisname: I'm male, and it's not really that rural. I'm only about 5 minutes away from my high school, 10 minutes away from our small town, and 30-40 minutes away from the nearest college.

P.S.
In case your wondering, I got dev-C++ off of a floppy from a teacher that used to teach C++ a few years ago.
I vote for the public library. Get some books on programming and computer electronics too ;)
Books available are:

More C++ for Dummies
C++ in plain English 2nd ed.
C++ primer plus 5th ed.

They look like primers, but I think I'm beyond that. Should I try Amazon?

If I download Code::Blocks at home estimated time is 10h 1m. That's not so bad.
I'm reading this now -> http://www.ebook3000.com/C---Unleashed_59118.html
I don't like Jesse Liberty's books, but this one looks good so far.
After reading this article I downloaded wxDevC++ and still using it.Since I got used to DevC++ ,Im comfortable with wxDevC++.Also I liked its wxwidgets support.But we [ as beginners :) ] are forced to switch to something else than DevC++ and also wxdevc++. So I've also downloaded Code::Blocks but I'm completely unfamiliar with it.Can you suggest a good document to get used to it?
Last edited on
Here's an introduction to Code::Blocks:
http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/codeblocks-instructions.pdf

It's geared a bit more toward people who are just beginning programming, but for the purposes of acting as an introduction to the IDE, it works just fine. A lot of it you can skip, as it explains how to install Code::Blocks.

I'm including a link to the official user manual in English in HTML format, just in case you want/need to read it.
http://www.codeblocks.org/docs/main_codeblocks_en.html

And... I think I missed something... what were you saying about being forced to switch from wxDev-C++? Sorry, my English goes down the drain after 11:30. And it's my native language... :/

-Albatross
Pages: 12