foobar - yes, and there’s nothing you can do in C that you can’t do in symbolic assembler, and there’s nothing you can do in assembler that you can’t do in machine code. So? Making life easier for the programmer is a big deal. In practice a competent coder can do things with a HL OO language that a genius coder couldn’t hope to do in asm. Writing a full-featured modern game engine or CAD application in raw hex opcodes may be logically possible, but I’d say it’s not humanly possible. It’s an important distinction.
I agree that trying to use all of C++ is silly; I’ve never seen anybody suggest otherwise, least of all the people who designed it. I think you’re a little harsh though when you say it’s “just” good for automating repetitive C. This is true for vtable dispatching, and partly true for templates, but the thought of trying to implement C++ exception handling in C is enough to give me nightmares. Exceptions are really a whole new programming paradigm.
Not sure what you mean when you say that half of MS C++ is proprietary. AFAIK there’s a few extra keywords (some obsolete), a couple of slightly different implicit casting rules, and not much else. My main beefs with MSVC are 1) the fact that it’s still not 100% ANSI compliant, and 2) the fact you can’t #include the Win32 API header or use the STL without enabling the aforementioned proprietary extensions. Windows I can understand, but not being able to compile the ANSI standard library in ANSI standard mode is contemptible.
grady - yeah, I’ve seen flamefests like that. It’s usually the old horses-for-courses syndrome. Talk to someone doing enterprise server-side programming: C is ancient history, C++ is dead and Java is the Second Coming. Talk to someone doing systems work: asm is reasonable at times, C is the norm and C++ is still too big, too far from the metal and not portable enough. (Java, what’s that?) If you do oodles of text processing you couldn’t live without Perl; if you don’t you can’t understand why anyone would touch Perl with a bargepole. This being an OpenGL board, you’ll probably get mostly pro-C++ sentiment since it’s the best fit for the kind of thing most of us do.
(Having dissed Java already, I should confess to severe envy of its dynamic class loading features. C++ kind of sucks in this area, which makes plugin-based architectures more of a pain than they ought to be.)
Sheesh, I’m waffly tonight. Getting verbose in my old age
Shutting up now…
[This message has been edited by MikeC (edited 09-14-2000).]