Is there any reason not to use dev-c++?

Red Squirrel

No Lifer
May 24, 2003
70,667
13,835
126
www.anyf.ca
Other than the fact that it's old, it's the only IDE that seems to handle stuff such as icons. Codeblocks does not seem to have any option for icons. I even tried to make my own icon resource file and import it, but the icon does not appear. Thinking of just going back to dev C++. Other than the fact that it's very old, is there any reason not to use it?
 

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
If you're doing Windows development, I see no benefit from using anything other than Visual Studio.

If you do not like Codeblocks, you can also try Eclipse CDT.
 

Tweak155

Lifer
Sep 23, 2003
11,449
264
126
2008 says it allows commercial distribution but when I used it, it gave me problems. Code ran fine locally but remote execution would not work.

EDIT:

For the record I went back to using Dev-C++. The reasons not to are pretty stupid on that website. "If you have problems, it is hard / impossible to find the answer!". Well what if I'm not having problems? It is similar to saying quit playing N64 if you don't like the graphics or are having problems, it isn't supported like the Wii. But N64 is still a sweet system, just "outdated".
 
Last edited:

Cogman

Lifer
Sep 19, 2000
10,286
147
106
For the record I went back to using Dev-C++. The reasons not to are pretty stupid on that website. "If you have problems, it is hard / impossible to find the answer!". Well what if I'm not having problems? It is similar to saying quit playing N64 if you don't like the graphics or are having problems, it isn't supported like the Wii. But N64 is still a sweet system, just "outdated".

More the problem is, what if you want to do something that wasn't done in 2005? For example, what if you want to use DX 10 in a project, a new version of the SDL, or something along those lines? You might be able to get things to compile and work well with the 3.5 version of the gcc (I've done this with Dev-C++, it is a pain), but why bother?

What's worse, there is a good chance that some of the standard libraries that ship with dev-c++ have bugs and security problems that have long since been fixed in newer versions. So through no fault of your own, the app you develop has security issues.
 

iCyborg

Golden Member
Aug 8, 2008
1,355
63
91
VC++ Express is superior as explained above, but it does have a couple of feature limitations that can be annoying sometimes like debugger having no memory window, no resource editor, no built-in 64-bit compiling etc. I use VS Express at home, but I think for purely educational purposes dev-c++ isn't bad either...
 

Tweak155

Lifer
Sep 23, 2003
11,449
264
126
More the problem is, what if you want to do something that wasn't done in 2005? For example, what if you want to use DX 10 in a project, a new version of the SDL, or something along those lines? You might be able to get things to compile and work well with the 3.5 version of the gcc (I've done this with Dev-C++, it is a pain), but why bother?

What's worse, there is a good chance that some of the standard libraries that ship with dev-c++ have bugs and security problems that have long since been fixed in newer versions. So through no fault of your own, the app you develop has security issues.

The securities issue is valid, but not really stated as such on the site that was linked to.

I'm not "compilerist", but to me saying something is old isn't a very good reason to say it is bad. I'm always down for trying new compilers, but when they don't work when I didn't have the issue before, why not go back to what works?

I don't do any large scale projects either. A few thousand lines at most in a given program, with a majority only being a few hundred (minus the headers I've written).
 

Red Squirrel

No Lifer
May 24, 2003
70,667
13,835
126
www.anyf.ca
What I don't like about VC++ is that it does not use fully standard C++. Often it will only run on THAT system, too, as they don't want you distributing apps. I also hate having dependencies such as .net when all I want to do is code a tiny little app that I want to put on a USB stick or something. Most of the stuff I code will tend to be a single .cpp file. It's requirement for creating a project for everything is another annoyance. I want to be able to open a .cpp file and click compile, done. If I want something more involved like icons then I'll do a project.

One quirk that has always made me laugh... only MS would pull this, is this:

Code:
for(int i=0;i<10;i++)
{
//some code
}

int i=0;

This code will not compile. In standard C++ the i should fall out of scope at the end of the loop. In VC++ however, it does not. So when I try to declare i again it will error out saying you are trying to redeclare it. Sure the fix is easy, but this could cause a shit storm if you are porting code over to it which may reuse variable names. Technically it's probably bad practice to do that, but there are situations where it may happen.

The reasons in the article not to use dev C++ don't really apply to me. I don't code many large scale apps in Windows. It's usually just tiny little helper apps or w/e.

Code blocks is nice though, but It does not seem to handle resources (like icons and stuff) like dev C++ does.
 

dighn

Lifer
Aug 12, 2001
22,820
4
81
One quirk that has always made me laugh... only MS would pull this, is this:

Code:
for(int i=0;i<10;i++)
{
//some code
}

int i=0;
This code will not compile.

This has been fixed since several releases ago. The current compiler is not bad in the standard compliance department actually.
 

Merad

Platinum Member
May 31, 2010
2,586
19
81
So it sounds like the problem is simply that you don't know how to use Visual Studio.

What I don't like about VC++ is that it does not use fully standard C++.

So turn off compiler extensions. The number of extensions MS adds these days isn't that large.

Often it will only run on THAT system, too, as they don't want you distributing apps.

....lol? Where do you get this stuff? Either statically link your executable (this is what Dev-Cpp is doing by default), or direct your users to the Visual C++ Redistributable download.

I also hate having dependencies such as .net when all I want to do is code a tiny little app that I want to put on a USB stick or something.

If you're getting .NET dependencies in a VC++ (not C++/CLR aka C++ .NET) program, you're doing something very wrong.

One quirk that has always made me laugh... only MS would pull this, is this

Seriously? That's only been fixed since 2003.
 

Absolution75

Senior member
Dec 3, 2007
983
3
81
What I don't like about VC++ is that it does not use fully standard C++. Often it will only run on THAT system, too, as they don't want you distributing apps. I also hate having dependencies such as .net when all I want to do is code a tiny little app that I want to put on a USB stick or something. Most of the stuff I code will tend to be a single .cpp file. It's requirement for creating a project for everything is another annoyance. I want to be able to open a .cpp file and click compile, done. If I want something more involved like icons then I'll do a project.

One quirk that has always made me laugh... only MS would pull this, is this:

Code:
for(int i=0;i<10;i++)
{
//some code
}

int i=0;

This code will not compile. In standard C++ the i should fall out of scope at the end of the loop. In VC++ however, it does not. So when I try to declare i again it will error out saying you are trying to redeclare it. Sure the fix is easy, but this could cause a shit storm if you are porting code over to it which may reuse variable names. Technically it's probably bad practice to do that, but there are situations where it may happen.

The reasons in the article not to use dev C++ don't really apply to me. I don't code many large scale apps in Windows. It's usually just tiny little helper apps or w/e.

Code blocks is nice though, but It does not seem to handle resources (like icons and stuff) like dev C++ does.

edit: nm, said exactly what the last two posters said
 

Red Squirrel

No Lifer
May 24, 2003
70,667
13,835
126
www.anyf.ca
So it sounds like the problem is simply that you don't know how to use Visual Studio.



So turn off compiler extensions. The number of extensions MS adds these days isn't that large.



....lol? Where do you get this stuff? Either statically link your executable (this is what Dev-Cpp is doing by default), or direct your users to the Visual C++ Redistributable download.



If you're getting .NET dependencies in a VC++ (not C++/CLR aka C++ .NET) program, you're doing something very wrong.



Seriously? That's only been fixed since 2003.


So that bug is not an issue anymore, and I can compile a non .net app? If that's the case, I may look into it. I thought it was strictly .net, so I could not do standard win32 code. I need to be able to make stand alone exe programs with no dependencies (unless I chose to use a 3rd party library for something) like with dev c++. While most systems may have .net already installed, not all of them do and it may not be the right version etc, so I don't want that as a dependency. I just want to do pure standard C++, no MS specific stuff. Most of the time I compile the same code in Linux too.
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
So that bug is not an issue anymore, and I can compile a non .net app? If that's the case, I may look into it. I thought it was strictly .net, so I could not do standard win32 code. I need to be able to make stand alone exe programs with no dependencies (unless I chose to use a 3rd party library for something) like with dev c++. While most systems may have .net already installed, not all of them do and it may not be the right version etc, so I don't want that as a dependency. I just want to do pure standard C++, no MS specific stuff. Most of the time I compile the same code in Linux too.

VC has never required that you use .net libraries. The only library that it has required is microsofts standard c and c++ library (which, is mostly compatible with the linux stuff, Mingw uses it).

There is a bit of a maze of different types of c++ applications that you can make, but the option is there. You want to avoid using managed c++.
 

Red Squirrel

No Lifer
May 24, 2003
70,667
13,835
126
www.anyf.ca
That is good to know, did not figure. I will give it a try then. At least if I need to do a .net app for a specific reason then I'll be able to do it there too.
 

Colt45

Lifer
Apr 18, 2001
19,720
1
0
Have you tried Qt creator? I don't seem to think you need to use the Qt-isms.

Seemed alright from the bit I played with it, nice that it runs on and build for everything. Not enough hours in a day though...
 

Venix

Golden Member
Aug 22, 2002
1,084
3
81
One quirk that has always made me laugh... only MS would pull this, is this:

GCC, Borland and all other major compilers also "pulled this" before C++98 was standardized.

The first post-standard version of MSVC++ changed its scoping rules to be compliant.