Author Topic: dev student in distress...  (Read 10679 times)

cheeto23

  • Guest
dev student in distress...
« on: April 05, 2008, 10:49:35 pm »
 :?
im a student of westwood online, and i have a report due in one week.  the report is basically comparing, contrasting, weighing pro's and con's, of IDE's.  Also if the specific IDE's were intimidating and how, and also if any are better suited for certain types of tasks.  I have Visual Studio Pro '08, Bloodshed Dev-C++, and Code::Blocks...so I'm looking for advice from programmers who have used these IDE's...preferably from someone who has used more than one of these three.  any help would be greatly appreciated
cheeto

Offline Alexis

  • Multiple posting newcomer
  • *
  • Posts: 62
Re: dev student in distress...
« Reply #1 on: April 05, 2008, 11:11:54 pm »
Hi Cheeto23,

DevC++ is obsolete now, is has not been maintained for years. For a good open-source IDE, no hesitation : Code::Blocks!

Visual C++ is a very good product (the debugger is so nice!), but it is proprietary and Microsoft is not very focused on C++ any more. They're rather pushing their .NET platform and C#.

For more details, read :
http://forums.codeblocks.org/index.php/topic,8074.msg60598.html#msg60598.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9496
Re: dev student in distress...
« Reply #2 on: April 06, 2008, 09:01:07 am »
One note:
Dev-C++: Thee is still wxDev-C++ which seems to be under active development.
One important (design) aspect of C::B is surely that it's a cross-platform IDE whereas the others are not (and most likely will never be). In addition: C::B supports a wide range of compilers whereas (wx)Dev-C++ support only GCC (to my knowledge) and VC only the Ms compilers or compilers that have a 100% compatible interface (I am thinking of the Intel compiler suite here).
Keep in mind the UI frameworks that is supported natively (so it has an UI editor for that): Dev-C++: none; wxDev-C+++: wxWidgets; VC8: MFC, .NET... (whatever, I don't really know); Code::Blocks: wxWidgets.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline Alexis

  • Multiple posting newcomer
  • *
  • Posts: 62
Re: dev student in distress...
« Reply #3 on: April 06, 2008, 02:56:01 pm »
Quote
Dev-C++: Thee is still wxDev-C++ which seems to be under active development.
Looks like (in their Web site) it hasn't been updated for one year, or am I missing something ? Good tool, but buggy and CB is now far ahead ! I tested both, and got rid of wxDevC++ for CB.

Quote
VC8: MFC, .NET... (whatever, I don't really know);
and also ATL/WTL

And one other thing : the plugin system. CB is very extensible, and (wx)DevC++ is not.

Offline gibxam

  • Single posting newcomer
  • *
  • Posts: 7
Re: dev student in distress...
« Reply #4 on: April 21, 2008, 09:49:24 pm »
Hey cheeto,

This is actually my first time as a registered user to the site but i was just scrolling through i saw this post. I am actually in the exact same position  as you as far as IDEs. I have been working with C++ for about the last 3 and a half months. I started out with Dev-C++ and i still think it works pretty well even though it hasnt been maintained. However i upgraded to MS Visual C++ express a little while ago and it is pretty "intimidating"; it definitely has a lot of helpful features and you can get pretty serious control of your projects, but it is still just "intimidating". Code blocks is like the best of both worlds for me at least. It offers a similar environment as Dev-C++
with some of the more important features of MS V C++ express. The problem that i have had so far with Code Blocks is that i find the debugger a little bit annoying, especially when working with classes, structures, or functions, if you don't specify whether or not you want to 'step in' or 'step over' the debugger will assume you want to step over. This really only takes a little bit of getting used to though.
I hope this helped you, so far i really like these forums and i just wanted to try to give back a little :) !

Offline ouch

  • Almost regular
  • **
  • Posts: 223
Re: dev student in distress...
« Reply #5 on: April 22, 2008, 12:20:01 am »
well I've used VC++ 6.0 profesional edition for years, it's compiler is showing it's age though so I went to find something better. I found Visual Studio express 9.0, and codeblocks.

here is my review of each:

VC++ 6.0: probably the "tank" of the software developer. It's old, slow, but will pound out working code in relative (well at least mild ;) ) comfort to the programmer every time. It's debugger while being very nice, is lacking the features of the newer v9.0 counterparts. It's form builder is in classic microsoft fation very well designed. your imagination is the limit and it allows you to hook code up to controls fairly quickly. It's compiler is very unoptimized. It's slow, insecure, and was made before multiple cores were all the rage. The compiler also has some anoying bugs in it if you push the compiler to it's limits.

Visual Studio express 9.0: From old run down "tank" to high performance luxury ferrari... the IDE has more comeforts to the programmer than 6.0. It does this by automateing a lot of the tedius stuff. the compiler is lightning fast, very optimized, and from what I can see is at least relatively secure. The express edition doesn't come with form builder but I suspect it is very, very, good. However what takes the cake here is the debugger. I don't think you will find a better one for any environment.

Microsoft stuff however only runs on microsoft stuff... In todays world with vista scaring people into ubuntu (linux) world, this is a huge problem.

Codeblocks: The IDE that tries to be everything for everybody. It seems it prefers you to use mingw along with the GDB debugger and wxWidgets for the GUI so I'll rate it with that configuration as it's also what I'm currently useing. the IDE has quite a few features. it seems to take features from an assortment of IDE's and throws them all together in one. As such, it usually has some feature to allow you to do what you want. Once you figure out all these features you move around in your code fairly fast with relative ease and actually code a bit faster in codeblocks than either microsoft products. It however has one problem assoiciated with all wxWidget apps... it consumes CPU cysles just being open. it takes 20-25% of my processor to just sit there. I can't help but feel this effects comiple time and my projects performance. wxSmith's form builder while very easy to use but doesn't support all the wxWidget controls, and tries to automate things you wish it wouldn't... However for programmers like me just starting out with wxWidgets it's a real life saver in understanding how wxWidgets controls function in comparison to microsoft's controls. mingw is well... it's free I guess... If 6.0 is a tank, and 9.0 is a ferrari, mingw is some old broken down rust mobile held together with bungie cords, tie straps, and old extension cords used as rope... It's painfully slow (slowest compiler I've ever come across actually) what takes minuates in mingw compiles instantly in the 9.0 compiler and seconds in the 6.0 compiler. It's horribly optimized, allowing for some very slow, large file sizes being outputed. You also have to take great care in knowing which build has what switches enabled. 1 switch can mean the difference between a 1 min compile and a 1 hour compile. the GDB debugger is well... it's free too... ;) I often find myself altering my code just so I can better see what is going on in the debugger. It's gotten so bad that now I debug my programs with a series of status bar messages and opt to avoid the debugger if at all possible...

So what am I useing for main dev work now? Codeblocks with mingw, gdb, and wxWidgets. Why is that considering mingw and GDB suck so horrible it boggles the human mind? well Codeblocks has a few features the others do not.

1: designed to support cross platforming so well the IDE itself is cross platform capable.

2: it can use practically any compiler out there. So I'm not suck with mingw forever. (I seriously don't know how much longer I can put up with it. I just hate it so much... but that little voice in my head says: "But... but, It's free man! FREEEEE!" :lol:)

3: it's interface is more laid back, better organized and friendlier. I don't have remember what 3 submenus I have to go too to configure the second submenu of the first submenu of that 2nd menu item... (classic microsoft visual studio problem right there :) )

If real estate ever picks up again I think I might try hooking codeblocks up to intels compiler and giving that a shot. But till then I'll just have to keep waiting for that freaking mingw to compile such simple code structures...

Offline Alexis

  • Multiple posting newcomer
  • *
  • Posts: 62
MingGW speed
« Reply #6 on: April 22, 2008, 10:21:03 am »
Quote
It's horribly optimized, allowing for some very slow, large file sizes being outputed. You also have to take great care in knowing which build has what switches enabled. 1 switch can mean the difference between a 1 min compile and a 1 hour compile. the GDB debugger is well...
Well, with the last MingGW version and using precompiled headers, the compilation/link process has a very decent speed compared to VC 8.0's one. I don't see the huge difference you depict.

Offline troels

  • Multiple posting newcomer
  • *
  • Posts: 71
Re: MingGW speed
« Reply #7 on: April 22, 2008, 10:58:09 am »
MingGW ...using precompiled headers...decent speed compared to VC 8.0's one. I don't see the huge difference you depict.
I see it here, absolutely, all the time. Sadly, ouch is right on all [speed] points.
Using pch changes little, and besides, MS has had much better (fast) pch support for 10+ years. AFAIK MinGW supports batch compilation (more than one source file as parameter to gcc.exe) as MS does, if CB utilized this speed would probably improve somewhat.

Edit:
It's form builder [resource editor] is in classic microsoft fation very well designed.
Eh? Windows 'resources' is basically a Windows 3.1 thing. You only get a real 'form builder' if you take the dotnet route, for regular C++ development MS is offering nothing comparable to say DialogBlocks, just the old primitive resource editor (MFC people are stuck with this).

Regards
« Last Edit: April 22, 2008, 07:26:16 pm by troels »

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: dev student in distress...
« Reply #8 on: April 22, 2008, 11:12:14 am »
Quote
If 6.0 is a tank, and 9.0 is a ferrari, mingw is some old broken down rust mobile held together with bungie cords, tie straps, and old extension cords used as rope... It's painfully slow (slowest compiler I've ever come across actually) what takes minuates in mingw compiles instantly in the 9.0 compiler and seconds in the 6.0 compiler. It's horribly optimized, allowing for some very slow, large file sizes being outputed.
I have to object to this. Sorry, but I'm really soooooo fed up with those unfounded, biased Microsoft-vs-gcc comparisons.
All these have in common that people find Microsoft's compiler being superior because they compare a 5 year old gcc with a latest-development-line Microsoft compiler, and in addtion to that fail to even properly use gcc.

You're the one who recompiled wxprec.h for every source file in the project last week, aren't you? I'm sorry, of course this will take hours, but how is that MinGW's fault? While it is true that even recent versions of gcc still compile somewhat slower overall, it is by no means a problem, even for large projects.

Unless you enforce code bloat by abusing the programming language (such as in wxWidgets), file sizes are not significantly larger (on the order of 20-90 kB fixed overhead, depending on what you use) for reasonably sized projects with any recent versions of gcc. A few dozen kilobytes fixed overhead should not really matter for programs that are normally several megabytes in size.
But still, we're comparing apples and oranges here. You can tell gcc to link to the runtime dynamically (which MSVC always does) to remove that overhead alltogether. Of course, if you do that, then gcc will have the same portability problems as MSVC.

Regarding optimizations, it has to be said that recent versions of MinGW/gcc used correctly not only compete with Microsoft's compilers, but indeed optimizes better in many situations.

I'm not saying everyone should use gcc. If you like the Microsoft compiler, then please go ahead and use it. Just don't spread stories about gcc/MinGW that belong to the realm of myths and legends and are most unfair.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline troels

  • Multiple posting newcomer
  • *
  • Posts: 71
Re: dev student in distress...
« Reply #9 on: April 22, 2008, 12:07:46 pm »
You yourself spread compiler FUD. Remember this

The Express version is not usable (for anything serious)
(http://forums.codeblocks.org/index.php/topic,7113.0.html)

Did you ever try it? No?

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: dev student in distress...
« Reply #10 on: April 22, 2008, 01:39:25 pm »
You yourself spread compiler FUD. Remember this

The Express version is not usable (for anything serious)
(http://forums.codeblocks.org/index.php/topic,7113.0.html)

Did you ever try it? No?
I did when it came out, and it isn't usable for anything serious (unless one is willing to collect some odd bits here and there, and pirate some of the missing libraries, or never want to use 50% of the stuff, or never want to debug, etc).
You can't really blame them either, after all they want to stay in business. If the freely downloadable version was fully usable for serious development, nobody would pay the 500 dollars (or was it 600? I forgot...) for the full version, anyway :)
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline troels

  • Multiple posting newcomer
  • *
  • Posts: 71
Re: dev student in distress...
« Reply #11 on: April 22, 2008, 01:50:19 pm »
it isn't usable for anything serious (unless one is willing to collect some odd bits here and there, and pirate some of the missing libraries, or never want to use 50% of the stuff, or never want to debug, etc).
I don't see anything missing from the debugger. The pirated missing libraries referred to must be MFC, which is indeed left out (just as well, it is outdated). The Express edition comes with everything you need for [single platform] wxWidgets or Qt development for instance [only thing missing is a proper form designer]. You know how to argue. Do you know when to stop too?


« Last Edit: April 22, 2008, 07:27:12 pm by troels »

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5179
Re: dev student in distress...
« Reply #12 on: April 22, 2008, 03:36:44 pm »
everybody calm down. No need to argue.

I am afraid our student, the original poster,  is getting in serious distress when he reads this discussion :-)

On the other hand, even when having these discussions, will still manage to create a super CB :-) 8)

Offline troels

  • Multiple posting newcomer
  • *
  • Posts: 71
Re: dev student in distress...
« Reply #13 on: April 22, 2008, 04:32:10 pm »
Compilation speed isn't everything. Code::Blocks is truly wonderful software period.
Greetings


Offline ouch

  • Almost regular
  • **
  • Posts: 223
Re: dev student in distress...
« Reply #14 on: April 22, 2008, 09:33:22 pm »
actually both mingw and MSVC++ 6.0 was first released in 1998. GCC however has been around since 1987. (hurrah for wikipedia ;) )

also thomas, you keep refering mingw to gcc which leads me to believe your on linux useing an integrated gcc compiler which is always a lot faster than mingw.

whether or not the difference is the OS or the port I couldn't tell you though...
« Last Edit: April 22, 2008, 09:41:38 pm by ouch »