Best *FREE* C++ compiler/tutorials?

Q&A, advice, reviews, and news about the computers, phones, TVs, stereos, and pretty much anything else that can't be easily whittled out of a stick or chipped out of stone.
pc486
Redshirt
Posts: 532
Joined: Fri Jul 09, 2004 1:48 am

Post by pc486 » Fri Apr 01, 2005 4:31 am

[quote="applekidjosh";p="473423"]
Visual C++ .NET 2003 Standard = $109
Boy oh boy, I get that (and a ton of other Microsoft programs) I get for free for being an Engineering student at my University. I mean, I guess I pay for it in tuition, but it's nice to just download something like Visual Studio .NET 2003... legally...[/quote]
Considering that Microsoft's IDE blows big chunks that doesn't surprise me. The MS compiler isn't that great either. It has quirks, bugs, crap error messages, and isn't stellar on optimization. GCC is much better at groking code and providing nice error messages. Intel's compiler and libraries kick more ass than a donkey.

That and I do believe most of the free development tools that Microsoft gives away/licenses at universities are academic versions. That means there are restrictions on the compiled program by license.

User avatar
edge
Redshirt
Posts: 3376
Joined: Mon Jun 02, 2003 9:43 pm
Gender: Male
Location: Pittsburgh, PA
Contact:

Post by edge » Fri Apr 01, 2005 2:21 pm

Yeah, most of the "acedemic" versions seem to be pretty lacking, from what I've used. Although I know that some colleges provide the full versions, and just roll the cost into tuition. This is how I got VS 6, and it worked out pretty well.

User avatar
PhoenixGeek
Redshirt
Posts: 603
Joined: Tue Dec 21, 2004 5:49 pm
Location: Central IL

Post by PhoenixGeek » Fri Apr 01, 2005 3:20 pm

When I was in college we had access to any Microsoft development tool plus all of there operating systems.
I'm going back to a local CC to expand on my degree with some certifications, I should check if I can get more free stuff from them.
Image

User avatar
Arc Orion
Redshirt
Posts: 11967
Joined: Sun Oct 26, 2003 7:27 am
Real Name: Christopher
Gender: Male
Location: Tacoma, WA
Contact:

Post by Arc Orion » Fri Apr 01, 2005 5:36 pm

I got free copies of Windows XP Pro, Windows 98 SE, and Visual Studio 6 Full from my college through something Microsoft does. Essentially, they give copies of the software to the school, the school lends us copies of the CDs, we make our own copies and can use the software however we want, so long as we don't make money off of their use.

Actually, now that I think of it, we have access to all the same software PhoenixGeek stated. It's probably the same program.
I need fewer water.

desertfox
Redshirt
Posts: 69
Joined: Thu Aug 07, 2003 12:41 pm
Location: Pittsburgh, PA

Post by desertfox » Fri Apr 01, 2005 10:14 pm

[quote="pc486";p="473509"]
Considering that Microsoft's IDE blows big chunks that doesn't surprise me. The MS compiler isn't that great either. It has quirks, bugs, crap error messages, and isn't stellar on optimization. GCC is much better at groking code and providing nice error messages. Intel's compiler and libraries kick more ass than a donkey.[/quote]

Actually, Visual Studio 7.1+ is a very, very nice IDE. There simply is no better one. And, the MS compiler is absolutely superb. I don't know where you get your information from, but the MS compiler has very few bugs, has few quirks, and is actually more standards compliant at last check than the GCC compiler. Plus, GCC is NOT that great of an optimizer, and at high levels of aggressive optimization it will actually produce incorrect code. Please stop spreading misinformation, I love how people bash all Microsoft products just because they have the name 'Microsoft' attached to them.
Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?

pc486
Redshirt
Posts: 532
Joined: Fri Jul 09, 2004 1:48 am

Post by pc486 » Sat Apr 02, 2005 6:58 pm

Note: The last version of Microsoft's IDE and compiler I used was version 6.0. Everything else is by word of mouth and/or a simple Google search.

[quote="desertfox";p="474001"]Actually, Visual Studio 7.1+ is a very, very nice IDE. There simply is no better one.[/quote]
I hated the Visual Studio IDE. The most important thing in programming is your text editor and Visual Studio's sucked big time. It didn't even auto-indent by default! I also didn't like the debugger interface as it was clumbsy to use for anything but inspecting flow and the current scope's variables. The text editor and the debugger are the most important tools in the programmer's shed, followed by a build system and source control IMHO.

As to what IDE is better, I'm not too sure. I use Emacs so I've got a great IDE (and email client, news browser, tetris, doctor, and the kitchen sink). For a more geewy IDE I hear that KDevelop is good. Apparently it can even use a VI clone for the text editor. Now that's cool.
And, the MS compiler is absolutely superb. I don't know where you get your information from, but the MS compiler has very few bugs, has few quirks, and is actually more standards compliant at last check than the GCC compiler. Plus, GCC is NOT that great of an optimizer, and at high levels of aggressive optimization it will actually produce incorrect code.
First off I have had a huge number of issues with VC++ 6.0 from namespace problems to standards incompliance. I know a few OSS projects that support Windows only with GCC or VS 7.0 and better. Even with VS 7.0 there was some grumbling with its broken linker and quirks.

Second, there really is no comparison between the Microsoft/Intel compiler and GCC. Just to give an idea on why here's what GCC supports: DOS, Windows, OS/2, ELF, xtensa, vax, vxworks, sparc32, sparc64, and sparc v9, system 390(x), PPC, MIPS, m68k, x86, x86 64, IA-64, ip2k, alpha, arc, arm, xscale, avr, c4x, hppa, IQ2000, and the M32R with C, C++, Objective C, Fortran, Java, Ada, Pascal, Mercury, Cobol, and PL/1. There are a few others but I do don't think they are in the main release or distro releases. It's hard to have a general optimizer for all these platforms and so it doesn't surprise me that Microsoft's or Intel's compiler may be able to beat GCC on the x86 targets. That doesn't mean GCC's optimizer is complete crap either. Pratically everything on most Linux distrobutions is compiled with GCC and I don't feel any slowdown on my low-powered machines, like my 600mhz Intel laptop. I'm sure many people can attest to that.

Anywho, give me a call when Microsoft's compiler can compile for even a few of GCC's supported languages and platforms.

As for bad code generation I haven't had GCC generate bad code except for the MPC860 target and that was the fault of the programer (old and incorrect low-level-for-even-C directives were used). I've heard stories about it in eariler releases (3.0 and 3.1) but GCC has matured greatly in the 3.x series (current is 3.4.3). Don't even think about trying to knock down the 2.95 series. 2.95.3 is the most code accurate compiler I know of.

And another thing, no friggin' kidding that GCC can produce incorrect code with aggressive levels of optimization! Any compiler would do that with aggressive optimization. Things like breaking the IEEE math specification or messing with memory allignment is normal for an agressive optimizer. It is this very reason that any compiler manual advises using optimizing options with care.
Please stop spreading misinformation, I love how people bash all Microsoft products just because they have the name 'Microsoft' attached to them.
I would love it if people would be able to take criticism without turning this into a holy war. Just because I don't like some Microsoft product doesn't mean I hate everything that Microsoft develops.

desertfox
Redshirt
Posts: 69
Joined: Thu Aug 07, 2003 12:41 pm
Location: Pittsburgh, PA

Post by desertfox » Sun Apr 03, 2005 12:03 am

Well, we're in agreement that VS6.0 was crap, it was highly standards un-compliant. It had piss poor suport for templates, its standard library was horrendously slow and quirky, and large language features were missing or broken. VS7.0 was good, but didn't fully support partial template specialization, 7.1 does, and supports just about the entire language. Of course, the only 100% compliant compiler I know of is Comeau (it is the only one that supports 'export'). GCC and VS7.1 are comparable in their language support; both support just about the entire ISO standard short of export, and maybe one or two other very quirky items. (Of course, the university I'm at hasn't updated our version of GCC since 2.95. *grumble*)

I'm a big fan of IDEs. The VC7.1 IDE took a little bit of time to get used to, but I'm now a big fan of it. I tried KDevelop a while ago; I basically decided it was Visual Studio Lite and gave up on it. As it is, Visual Studio is one of the main programs holding me fast to Windows, I simply haven't found another IDE I'm as productive with.

Yes, GCC supports lots of architectures. So could Microsoft's if they choose to add the support for them to their backend. But, since Visual C++ is a compiler for Windows platforms, they have no interest in doing so. Though, I've only ever used a GCC cross compiler once, when compiling programs for a Sony AIBO.

I didn't say GCCs optimizer was crap, but it's not as good as the one for VC7.1. Yes, I have only seen benchmarks on x86 code, but for most people, that's the only architecture that matters. The VC7.1 compiler is able to do things like directly inline functions defined in .cpp files and use some other cross-translation unit techniques to eliminate some v-table lookups when the actual type can be determined at compile-time (though this is somewhat limited, it's most important when used with the 'pImpl' idiom).

I apologize for the comment about Microsoft bashing. Too many people take idealogical stances against all MS products (see Slashdot :happyroll: )

Anyway, we're getting this thread a bit off topic. How are things going with C++ Zero Point? Here are a few more sites of interests for C++:

http://www.parashift.com <<-- Home of the C++ FAQ Lite, very good resource for a variety of questions.

http://www.cplusplus.com <<-- Verious user resoruces about C++. Also has links to the comp.lang.c++.moderated newsgroup, which is a really good read if you're interested in some current hot topics in C++ (particuarly talk about the upcoming C++ 0x standard revision).
Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?

User avatar
Zero_Point
Redshirt
Posts: 1200
Joined: Wed Oct 22, 2003 7:24 pm
Location: Clovis... No, not California! New Mexico!!! Sheesh!

Re: Best *FREE* C++ compiler/tutorials?

Post by Zero_Point » Sun Apr 03, 2005 2:23 am

*reads above*
...*drool*...
I R DUmB.
But anyhoo, no luck yet. Haven't even downloaded the tutorial yet. Hopefully, though, I'll get proficient enough to make the game I was hoping to develop. Thanks alot for all the input!
"If the women don't find you handsome, they should at least find you handy" - Red "Duct-tape" Green
Image

pc486
Redshirt
Posts: 532
Joined: Fri Jul 09, 2004 1:48 am

Post by pc486 » Sun Apr 03, 2005 7:28 pm

[quote="desertfox";p="474919"]Well, we're in agreement that VS6.0 was crap, it was highly standards un-compliant.[/quote]
That's almost giving it too much credit :P.
(Of course, the university I'm at hasn't updated our version of GCC since 2.95. *grumble*)
I'm sorry. That must suck if your projects require C++ code. Lucky for me most of my university courses are in C (that plus I really don't like C++ much) and we have a very up-to-date versions of all development tools (GCC, Perl, Python, Java, etc) on the primary Solaris timeshares and in Sun Blade labs.
I'm a big fan of IDEs. The VC7.1 IDE took a little bit of time to get used to, but I'm now a big fan of it.
Ah, so they changed it (about friggin' time). I'll have to check it out then.
Yes, GCC supports lots of architectures. So could Microsoft's if they choose to add the support for them to their backend. But, since Visual C++ is a compiler for Windows platforms, they have no interest in doing so. Though, I've only ever used a GCC cross compiler once, when compiling programs for a Sony AIBO.
My field of development requires very high portability and many different targets, and as such the Microsoft compiler set just wont do. Aside from buisness decisions I'm sure Microsoft won't support other platforms as their compiler would take more than just a backend change. Lots of small changes are needed to support different architectures and platforms. It simply wouldn't be beneficial for them to rebuild their development kit. Instead if they wanted to persue embedded development they should buy out other companies tools and relabel them, IMHO.
Anyway, we're getting this thread a bit off topic.
Indeed :D. Anywho Zero_Point, you said you wanted to make a game. Do you know what kind of game? 3D? 2D? Are you going to develop a game engine too?

User avatar
Zero_Point
Redshirt
Posts: 1200
Joined: Wed Oct 22, 2003 7:24 pm
Location: Clovis... No, not California! New Mexico!!! Sheesh!

Re: Best *FREE* C++ compiler/tutorials?

Post by Zero_Point » Mon Apr 04, 2005 6:27 am

3D Real-Time-Strategy game. Title isn't set in stone, I'm terrible with names (that's for another thread :wink: ). I'll have to develop my own engine I guess, since there isn't a good free one that meets the requirements. OGRE was close, but it's still very incomplete. That, and I'll probably have to wait until I get a better comp (I have the feeling that the processor in mine will not be up to the challenge...). Again, I thank you all for your assistance and recommendations. I guess I'll stick with Dev C++ for now, unless I win the lottery, then I might buy the Intel compiler or something.
"If the women don't find you handsome, they should at least find you handy" - Red "Duct-tape" Green
Image

kyoryu
Redshirt
Posts: 153
Joined: Thu Apr 14, 2005 11:24 pm
Contact:

Post by kyoryu » Mon Apr 18, 2005 9:38 pm

The MS compiler at $100 is a pretty good bargain, if you don't care about linux compat. The IDE is about 1000X better if you also kick down and get Visual Assist (http://www.wholetomato.com).

As far as engines go, look at Torque. They've even got a RTS starter kit right now. Torque is like $100 and the RTS kit is like an additional $50.

That may seem like a lot of money, but trust me. Skip a few meals out and some movies, rent a few games instead of buying them. The amount of time you will save is well worth the investment.

If you absolutely can't find an engine, you may also want to look at something like Blitzbasic. Their 3d stuff doesn't look all that bad. Rolling your own engine in C++ is going to be a LOT of work. And by 'a lot' I mean 'more than you realize'. Memory leaks, blown stacks, blown pointers, these are all not fun things to debug. You're not afraid? You will be. You will be.

desertfox
Redshirt
Posts: 69
Joined: Thu Aug 07, 2003 12:41 pm
Location: Pittsburgh, PA

Re: Best *FREE* C++ compiler/tutorials?

Post by desertfox » Tue Apr 19, 2005 12:47 am

Well, if he follows the guidelines in the books specified he should be able to avoid most of the nastiness like memory leaks and seg faults. (Standard Containers + Smart Pointers can pretty much eliminate all memory leaks and seg faults). I *rarely* use raw pointers anymore, and when I do it's in a specific circumstance where I know I don't need a smart pointer.

That being said, yes, a 3D RTS engine is going to be a ton of work, but I wish you luck. If you have any C++ specific questions feel free to post on the forums or drop me a PM or e-mail.
Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?

kyoryu
Redshirt
Posts: 153
Joined: Thu Apr 14, 2005 11:24 pm
Contact:

Post by kyoryu » Tue Apr 19, 2005 3:25 am

That's great in theory. In practice, those types of bugs come up all the kind. And I work with some amazingly talented coders.

Go over to Brian Hook's site, and you'll see that even he, for simple stuff, is getting far, far more into Python to the point of trying to do game editors and even games in the stuff.

I'm only suggesting that, unless you actually have a strong need for the speed of C/C++, you can get a lot done by working in a higher level language.

User avatar
Zero_Point
Redshirt
Posts: 1200
Joined: Wed Oct 22, 2003 7:24 pm
Location: Clovis... No, not California! New Mexico!!! Sheesh!

Re: Best *FREE* C++ compiler/tutorials?

Post by Zero_Point » Sat Apr 23, 2005 7:33 am

And what, dare I ask, is considered a higher level than C++?
"If the women don't find you handsome, they should at least find you handy" - Red "Duct-tape" Green
Image

pc486
Redshirt
Posts: 532
Joined: Fri Jul 09, 2004 1:48 am

Post by pc486 » Sat Apr 23, 2005 9:36 am

A lot of languages actually. Most purely or generally interperted languages like BASIC, LISP, shell, Perl, Ruby, and Python are considered higher level than C++. In fact, C++ is pretty low level. C is considered to be as low level as anyone wants to get since programming in assembler these days is rare and usually related to SIMD programming (MMX, SSE, Altivec, VIS, and so forth). C++ is only an incremental addition onto C which provides language-based object-oriented programming and many other goodies (get it? C++? C + 1? haha!). Even Java is higher level than C++ thanks to language improvements and the garbage collector.

In other words, most languages are at a higher level than C++. Pick one out of a hat and 99% of the time it's a higher level language than C++.

Locked

Who is online

Users browsing this forum: Ahrefs [bot] and 1 guest