What makes C++ so powerful?

Started by
147 comments, last by CoffeeMug 17 years, 11 months ago
Quote:Original post by jwalsh
Quote:
VB provides a WYSIWYG editor which makes it easier for people to jump right in and see results.

So does C++ and C#.

Cheers!


He was making a comparison between C++ and VB therefore C# was out of context. I believe VC++ has a WYSIWYG editor but C++ in general does not. Of course the WYSIWYG editor for VB could also be seen as an IDE feature but VB is tied to that particular IDE a lot more then C++ is to any IDE.
Advertisement
Quote:Original post by TheTroll
Spoonbender, I have to disagree with you there, having direct control over memory and the use of pointers gives C++ a huge advantage over other languages. You might not use this but a lot of us do.


smoke, mirrors and illusions my friend.
You don't have 'direct control over memory' on ANY modern OS, just try writing to somewhere you haven't been given and watch the OS jump all over you, scream at you and shut you down.

Pointers are just another way to screw up and the area most people new have the biggest trouble with, no advantage here.

Don't get me wrong, I'm primarily a C++ programmer, but neither of those are 'advantages'


A language does not have a WYSIWYG editor, none of them. What does have a editor is the IDE. The editor has nothing to do with the langauge, it is just an IDE tool for helping you design your UI.

theTroll
Quote:Original post by tstrimp
Quote:Original post by jwalsh
Quote:
VB provides a WYSIWYG editor which makes it easier for people to jump right in and see results.

So does C++ and C#.

Cheers!


He was making a comparison between C++ and VB therefore C# was out of context. I believe VC++ has a WYSIWYG editor but C++ in general does not. Of course the WYSIWYG editor for VB could also be seen as an IDE feature but VB is tied to that particular IDE a lot more then C++ is to any IDE.


Basic doesnt have a WYSIWYG editor. Visual Basic does. Hence the "visual" part. C++ doesnt have a WYSIWYG, but Visual C++ does. They are the same thing really, and not coincidentally, both Microsoft inventions - and both standard with "Visual Studio." Its just that Borland/Inprise and other IDE makers have created their own "visual" tools for C++, while no one has bothered with Basic that I know of.
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
Hmm... Whenever I start to feel that I have a little hang of this programming thing, more questions comes to mind and more answers makes more questions :P

I recently won a book on VB.net and am trying to decide if I should focus on C++ at the moment or start VB.net instead. It's hard not to use the book that lies waiting in the shelf :/

If my long-time goal is to start (or at least try) game programming, would VB.net be an alternative? The thing is, if I like doing game programming, there shouldn't be any problem switching to a more suitable language for the task. But if I find out I don't like it and want to stick with regular applications, what are the pros and cons of C++ and VB.net?
Quote:Original post by Zyndrof Is there any language that can compare with C++?


D. It's got a lot of the advantages of languages like C# and Java (garbage collection), but it's compiled to native code, so it doesn't need a bytecode interpreter. It doesn't have a preprocessor, but what there is is an improvement.

For example, instead of the C/C++ #include, we have import:

import std.c.stdio


Instead of:

#include <stdio.h>


D also doesn't need a #pragma once directive or #ifdef/#define/#endif blocks, since the import directive takes care of that for you.

There's lots of other stuff, but I don't want to make my post too long. [grin]

The one problem with it is that since it's so young, it doesn't have a very large codebase, and not many libraries have been ported to it yet (though I believe a port of SDL and some other APIs, similar to the .Net Tao project, is in progress).

edit: Forgot to mention FreeBASIC. [grin] FreeBASIC is much like C, but it's got a syntax that is very close to English, so it's good for beginners in most cases. It's fast, too, and in some cases it's actually faster than C/C++. When they get OOP working properly it'll be even better.

[Edited by - Oberon_Command on May 9, 2006 4:02:08 PM]
Quote:Original post by Zyndrof
Hmm... Whenever I start to feel that I have a little hang of this programming thing, more questions comes to mind and more answers makes more questions :P

I recently won a book on VB.net and am trying to decide if I should focus on C++ at the moment or start VB.net instead. It's hard not to use the book that lies waiting in the shelf :/

If my long-time goal is to start (or at least try) game programming, would VB.net be an alternative? The thing is, if I like doing game programming, there shouldn't be any problem switching to a more suitable language for the task. But if I find out I don't like it and want to stick with regular applications, what are the pros and cons of C++ and VB.net?


When you become a "good programmer" you won't be using just one language. Start wherever you can and learn as much as you can about as many languages as you can. A good programmer doesn't try to fit a square peg into a round hole, or use a language in a task for which it is ill-suited.

Perhaps the wisdom of Miyamoto Musashi might help here:
Quote:"You should not have a favourite weapon. To become over-familiar with one weapon is as much a fault as not knowing it sufficiently well."

More specifically, I don't like VB very much, but it's easy to learn. If you're technically savvy, you could set up a python interpretor, and try that language instead. Your goal should just be to start learning and never stop.
XBox 360 gamertag: templewulf feel free to add me!
Quote:Original post by Zyndrof
Hmm... Whenever I start to feel that I have a little hang of this programming thing, more questions comes to mind and more answers makes more questions :P

I recently won a book on VB.net and am trying to decide if I should focus on C++ at the moment or start VB.net instead. It's hard not to use the book that lies waiting in the shelf :/

If my long-time goal is to start (or at least try) game programming, would VB.net be an alternative? The thing is, if I like doing game programming, there shouldn't be any problem switching to a more suitable language for the task. But if I find out I don't like it and want to stick with regular applications, what are the pros and cons of C++ and VB.net?


Look, my feelings on this are that you're wasting too much time trying to make the "perfect" choice with regards to which language to choose. There is no "perfect" language. Of course some languages are more suited at tackling some problems while other languages are more well suited for other areas of programming.

BUT If you're just starting out and want to do some grame and/or graphics programming, either VB.NET or C++ are adequate. Just pick one at random or whatever.

I would recommend C++ based on the fact that most game/graphics resources use C++, but that's just me. Other people will suggest VB.NET, other C#, other Python. It really doesn't matter - just get cracking my friend. [smile]
"We confess our little faults to persuade people that we have no large ones." -Francois de La Rochefoucauld (1613 - 1680). | My blog
Quote:Original post by Zyndrof
I recently won a book on VB.net and am trying to decide if I should focus on C++ at the moment or start VB.net instead. It's hard not to use the book that lies waiting in the shelf :/
I'd recommend picking one language and sticking to it, at least until you reach an 'intermediate' level with it. If you stick with C++ for now, and use it until you're comfortable, then when you switch to VB.net you'll find that many of the concepts in the language are the same.

If you've got a bunch of languages that can do the same thing, they'll usually 'evolve' the same sort of features, because that's what the situation demands of them.

(Have you ever wondered that the majority of living creatures on this planet have eyes? That's because eyes are a useful "feature" for survival when there's a lot of interesting different colours and lights around. If the planet were pitch-black, nobody would have bothered evolving them because they'd be useless).

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

Quote:Original post by Zyndrof
How come there haven't been any language to surpass C++ in these 26 years?


There have been languages to surpase C++ in 26. First an foremost, C++.

The C++ that existed even 15-20 years ago (such as Microsoft C/C++ 7.0, Borland Turbo C++ 3.0, etc) was NOT the same as the C++ that was created and then standardized between 1993-1998 - with templates and the STL. The addition of templates and an amazing library concept revitalized C++ in time when it would have started a dramatic decline in comparitive productivity against languages like Java, Python, ruby, etc ...

Even the final details thare are the difference between what non-compliant Visual C++ 6.0 can do vs. almost completely compliant Visual C++ 7.1 are enourmous in terms of that final touch needed to write ultra-powerfull, cleanly designed, and highly performant libraries. (When I say cleaning designed in this context, I mean EXTERNAL design, not the internal implementations design which is often very very tedious).

Other languages let developers get more work done - but C++ lets developers get a whole lot of work done, while letting the computer get more work done. (I'm not saying most C++ programs are significantly more efficient than other more modern languages, I'm saying C++ programs have the option of pursuing that path when necessary).

This topic is closed to new replies.

Advertisement