On 05/23/2010 10:22 PM, Chris Cannam wrote:
[...]
... by which I don't mean to imply that I
can't understand it
(although, with C++, there is always the possibility that I _think_ I
can understand it but am sadly mistaken because of some weird shit
happening behind the scenes). I just mean that I can't simply read
it.
I once read a great (and funny) article arguing that you simple can't assume
anything about what the following means in C++:
a = b + c
Nothing
This may be one really serious advantage for the
everything-in-C types
-- a competent C programmer can understand any C, whereas C++ is big
enough to have many different "schools of C++" which are mutually
unintelligible without further study.
That's also the seed of its popularity, I suppose -- everyone can
write the way they like in it, and if you can't work out how to do it
properly, you can always drop back into C.
Yeah, C rocks :-)
But, the problem is that, in my experience, C++ can increase productivity by a
factor of x10 or so over C. It's my personal experience. Very often, I have to
consider making a choice between the two, and I often end up coding the engine
in C and the rest in C++ or a dynamic language.
But maybe that, with experience and methodology, one can get as productive in C
as in C++? I suppose the guys at Gnome would agree with that..
--
Olivier