Skip to main content
GameDev.net gamedev.net
🔒 Locked

Dev-C++ vs Codeblocks vs MS Visual Studio 2005

Started by lordbelial Dec 15, 2005 at 10:55 PM 16 replies 21.1k views
Original Post
lordbelial
lordbelial
What should I start out learning to use? While most beginner books recommend Dev-C++ I have a feeling that most professionals use MS Visual Studio. On the other hand, many of the examples in beginner book such as Beginning C++ Game Programming will not compile in Visual Studio yet work fine in Dev-C++ and Codeblock. Secondly, if Dev-C++ is preferred, should I use Codeblocks instead? I've read that Dev-C++ not being developed anymore and that Codeblocks is much better.
willthiswork89
willthiswork89
ive had the same question for a while, i happen to own visual studio .net and as of now...dev c++ is beginning to be a pain because you have to setup all the linker settings and stuff...bisual studio is looking like a better option but ive never heard of code blocks, i might have to download it
HopeDagger
HopeDagger
The best advice I can give is to try out each of them for a while, and see which catches your fancy the most. Dev-C++ is great because of its DevPak system, Code::Blocks feels overall very clean and organized, and of course VC++ has a sleek feel and all of those goodies that professional IDEs entail. ;) All IMHO, of course!

Give each a solid run -- perhaps write a program in each that uses key features that an IDE should tout -- and see which one makes the final cut and earns the coveted name of "your C++ IDE of choice". ;)
Blew
Blew
I agree with the above.

Whenever i try any IDE i always tend to compare it with VS. My questions are always something like:

- Is it as fast as VS?
- Is it as complete as VS?
- Is it as clean as VS?
- Is it as easy to use as VS?

Etc, etc.

Maybe it's just me, but i feel like any (current) IDE in the world sees VS as a model and they just try to be as good as it is - never better or something completely new. Which is a shame.

But my answer would be the same as HopeDagger's. Try them and use the one you like the most. You'll be more productive using that one - and happier. ;)
blew
smr
smr
Quote:
Original post by Oberon_Command
IMHO: VC++ 2005 > Code::Blocks > Dev-C++


IMHO: VC++ 2005 > Code::Blocks > Steaming pile of dog poo > Dev-C++
Yann L
Yann L
Dev C++ used to be very popular with beginners, due to the fact that it is free. Sut since the VS 2005 Express editions are free (at least if downloaded during the first year), there is absolutely no reason anymore to use Dev C++. VC++ is far superior in pretty much every aspect. Here are some reasons why you should choose VS:

*) A lot more feature rich and flexible
*) The debugger plays in a totally different league than the crappy GDB integration in DevC++
*) You can continue to use MingW and related compiler tools with VS (although the VC8 compiler has largely surpassed GCC/MingW in code generation quality, so you should probably stick with Microsofts compiler)
*) VS gives you the option to try .net development, and comes with a very powerful form editor
*) You can try different languages (like C#) without changing the look'n'feel of the IDE
*) You're getting the tool the pros are using, so you can already get familiar with it from the beginning on
Oluseyi
Oluseyi
Quote:
Original post by Anonymous Poster
Unless you need to use GCC/Mingw or want a cross platform IDE.

Quote:
Original post by Yann L
*) You can continue to use MingW and related compiler tools with VS (although the VC8 compiler has largely surpassed GCC/MingW in code generation quality, so you should probably stick with Microsofts compiler)


For emphasis.
cmptrgear
cmptrgear
I didn't realize there was such a thing as code generation quality.

How are you comparing quality?
"Pfft, Facts! Facts can be used to prove anything!" -- Homer J. Simpson
Yann L
Yann L
Quote:
Original post by cmptrgear
I didn't realize there was such a thing as code generation quality.

How are you comparing quality?

Optimization on both speed and code size (yes, this is in fact an code generation feature, since VS 2003 the optimizer isn't the only part of the compiler chain to optimize code), whole program optimization and link time code generation features, cross-module tracking of register usage, context sensitive customized calling conventions, use of SIMD and extended instruction sets, etc.
Arild Fines
Arild Fines
Quote:
Original post by Yann L
Dev C++ used to be very popular with beginners, due to the fact that it is free. Sut since the VS 2005 Express editions are free (at least if downloaded during the first year), there is absolutely no reason anymore to use Dev C++. VC++ is far superior in pretty much every aspect.

Eh, didn't you used to be on the other side of the fence? Did the fence move while I wasn't looking?

--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
Yann L
Yann L
Quote:
Original post by Arild Fines
Eh, didn't you used to be on the other side of the fence? Did the fence move while I wasn't looking?

I quantum-tunneled through it over to the dark side when noone was looking ;)

Seriously though, I'm on the side of the better and more productive tool. In VC6 times, GCC was obviously much better. Today, VC8 is much better. IMO, some extremely wrong and close minded decisions were made concerning the development policy of GCC in the past. On the other hand, some very good decisions were made by Microsoft, especially concerning standard compliance.

My opinion about Microsofts business practices aside, it's an undeniable fact that they currently have the technically superior development tool. So the logical conclusion is that one should choose the best available tool for the job. If the GCC people get their stuff together (although rather improbable in the foreseeable future) and bring GCC up on par and beyond Microsofts compiler, I will jump the fence again.

Quote:

Really, tell me since when VS was cross-platform.

Who cares ? If you target OS independence, then what matters is your code. As long as you stick to the standards, and minimize / encapsulate your OS dependent parts, then you will be able to compile everything under pretty much any compliant compiler and supported OS without modifying a single line of code. The used IDE is irrelevant for this.
gan
gan
Quote:
Original post by lordbelial
What should I start out learning to use? While most beginner books recommend Dev-C++ I have a feeling that most professionals use MS Visual Studio. On the other hand, many of the examples in beginner book such as Beginning C++ Game Programming will not compile in Visual Studio yet work fine in Dev-C++ and Codeblock. Secondly, if Dev-C++ is preferred, should I use Codeblocks instead? I've read that Dev-C++ not being developed anymore and that Codeblocks is much better.


It's very sad that The Visual Studio have the lion share in the market. I think you got no choice but to start with it, then contribute your effort to Dev-C++ and Codeblock when you are a pro.
SquizzZ
SquizzZ
Quote:
Original post by Yann L
Sut since the VS 2005 Express editions are free (at least if downloaded during the first year), there is absolutely no reason anymore to use Dev C++.


I'm not MS basher, and I personally agree that MS Visual Studio is the best and superior C/C++ IDE out there (under Windows platform of course), but I disagree with your statement... there is still plenty of reasons to use Dev-C++ (or even better - Code::Blocks) instead of VC Express.

*) they are small and non-bloated - installation packages are just few megabytes, and once installed, they don't consume much disk space - this is honestly the reason the last VS version used by me was VS 6.0 (it actually happens to other applications as well)

*) they are quick to set up - sometimes you have to make some programming work using computer that has no development tools installed - it happened few times to me, and both dev-c++ and c::b saved me. (installation is seconds, not hours)

*) devpaks - you can set up (so it's ready to hit F9 and run) virtually any library available out there in seconds (even whole engines like Irrlicht or Ogre).

*) Zero learning curve. There is no easier-to-use IDE than Dev-C++.

*) By using free IDEs/compilers you support developers who make an effort to create alternative development tools. Would VS be so cheap (even free) nowadays without strong and free competition? ;)

Quote:

*) You can continue to use MingW and related compiler tools with VS (although the VC8 compiler has largely surpassed GCC/MingW in code generation quality, so you should probably stick with Microsofts compiler)

VC8 is not the best in terms of compilation speed (DMars), code quality (Intel) or standard compliance (even rather ancient GCC/MinGW seems to win here)
Don't forget that GCC (and its port - MinGW) is under active development. And since standard compliance is pretty high, they will probably focus on code generation quality and compilation speed in future versions.
I'm not sure where Dev-C++ is now, but Code::Blocks allows you to use almost any available compiler (freely available VC7.1 or VC8 instead of MinGW? No problem. You can even use both if you like)

Quote:
*) You can try different languages (like C#) without changing the look'n'feel of the IDE

Quote:
Who cares ? If you target OS independence, then what matters is your code.

Unless development goes under more than one OS (pretty common for OS independent projects), and you want to do it without changing the look'n'feel of the IDE. ;)

Quote:
The used IDE is irrelevant for this.

Even if it use the very same project file under many OS-es? Even if it provide visual form editing based on multiplatform GUI toolkit?(*) Hmmm... where did the productivity part go? :)


(*) I'm referring to very promising form builder that is already available in Code::Blocks SVN repository and will certainly come with RC3, not the (little bit crappy & buggy as hell :) ) one that comes with already released RC2.

[Edited by - SquizzZ on December 17, 2005 5:32:05 AM]
Yann L
Yann L
Quote:
Original post by SquizzZ
*) they are small and non-bloated - installation packages are just few megabytes, and once installed, they don't consume much disk space - this is honestly the reason the last VS version used by me was VS 6.0 (it actually happens to other applications as well)

VS2005 consumes around 500 MB, and that includes things like the .net framework. Bloat is defined by the ratio of size to useful features. And in this case, both DevC++ and VS are pretty much equal: DevC++ is small, but has pretty much zero features (at least compared to VS), and VS is larger but comes with a ton of cool features. And lets be honest here for a moment: in the times of 200+ GB harddrives, where a single game takes up 5 to 6 GB, what are 500 MB for a programming tool that you will use every day ?

And just the VS2005 debugger makes up for everything, and is pure bliss compared to GDB based solutions.

Quote:
Original post by SquizzZ
*) they are quick to set up - sometimes you have to make some programming work using computer that has no development tools installed - it happened few times to me, and both dev-c++ and c::b saved me. (installation is seconds, not hours)

I've installed VS2005 Express on several machines. Full installation, including the net framework and MSDN, take around 10 minutes. If the framework is already installed, then the installation is done in around 5 minutes. Where is the problem ?

Quote:
Original post by SquizzZ
*) devpaks - you can set up (so it's ready to hit F9 and run) virtually any library available out there in seconds (even whole engines like Irrlicht or Ogre).

Give me one serious, not-totally-crappy library that doesn't come with MSVC project files. And if we exit the world of open source, and enter the world of commercial libraries, support for MSVC is 100%, while support for DevC++ and C:B is virtually non-existant.

Quote:
Original post by SquizzZ
*) Zero learning curve. There is no easier-to-use IDE than Dev-C++.

Sure, VS might have a steeper learning curve, but so what ? When someone tries to learn a complex thing such as programming, and isn't even willing to spend a few hours going through the basic IDE functionality, then he is doomed anyway.

Quote:

VC8 is not the best in terms of compilation speed (DMars), code quality (Intel) or standard compliance (even rather ancient GCC/MinGW seems to win here)

VC8 is absolutely on par with standard compliance. Sure, you can always find obscure examples of almost never used features where either VC8 or GCC fail. But if you want to go that route, why not talk about the export keyword, for example ? If beyond all reasonable standard compliance is what matter to you, just use Comeau.

In other words: VC6 used to be really bad in terms of standard compliance, and that was the main argument from the GCC folks against it. These times are over now, that argument won't work anymore. VC8 is just as compliant as GCC, with a few variations on both sides on obscure features.

Quote:

Don't forget that GCC (and its port - MinGW) is under active development.

So is Visual C++. And other than GCC, VC development is highly organized and goal oriented. Microsoft just went ahead of GCC in the race of the best compiler. And unless the GCC people don't completely change their minds about some important development policies, it will be extremely hard (read impossible) to catch up again in the future.

Quote:

And since standard compliance is pretty high, they will probably focus on code generation quality and compilation speed in future versions.

Doesn't help me now, does it ? As I said, if they catch up again, and deliver a superior tool to Microsofts, then I will change sides again.

Quote:

I'm not sure where Dev-C++ is now, but Code::Blocks allows you to use almost any available compiler (freely available VC7.1 or VC8 instead of MinGW? No problem. You can even use both if you like)

Why would you want to do that ? One can discuss the VC8 vs. MinGW issues, and I can understand if people prefer GCC/MinGW over the VC8 compiler, especially because of legacy code support. That's why using MinGW in the Visual Studio IDE is definitely an option. But there is absolutely no reason to use an inferior IDE with either compiler, if a free high quality alternative is readily available.

Quote:
development goes under more than one OS (pretty common for OS independent projects), and you want to do it without changing the look'n'feel of the IDE. ;)

That's usually not a problem when jumping between OS's, since the entire look'n'feel of the OS GUI system is going to be different anyway. You just have to set your priorities: is the cross OS look'n'feel more important to you than using the best available IDE under Windows ? It probably depends on what your primary development OS is. If you primarily develop under Linux, then using C:B for quick compiles under Windows is a good choice.

Quote:

Even if it use the very same project file under many OS-es?

Unless we're talking about completely trivial console apps, compiler/linker switches will differ from one OS to the next, needing different project files. Different OS's will also link to different libraries (eg. libGL versus opengl32.lib), requiring different project files.

Quote:

Even if it provide visual form editing based on multiplatform GUI toolkit?(*) Hmmm... where did the productivity part go? :)

I will be impressed when they reach the ease of use and productivity of the MSVC forms designer. We're not there yet...

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.