Games people play
Georg Wrede
georg.wrede at nospam.org
Thu Sep 28 14:15:43 PDT 2006
Sigh, this really ought to be nailed to the nearest church door (like
Martin Luther did). Or to the cover of CUJ.
Walter Bright wrote:
> Georg Wrede wrote:
>
>> Or, could it be that D actually is bigger than C++ _feature_wise_,
>> while C++ is _much_ larger than D when we look at the ramifications of
>> their respective feature sets.
>
>
> D *is* bigger feature wise. But complexity wise, C++ beats it. The
> trouble with C++ is that its features are not very orthogonal - and
> where they interact/conflict there are a lot of weird special case
> rules. I have recently exchanged yet another set of emails with a person
> who is a top C++ expert who insisted that DMC++ had a serious bug with
> template name lookups. Turns out that DMC++ actually was implementing
> the name lookup rules *according to the C++ standard* and the other
> compilers were not. The bottom line is even the experts don't know how
> it is supposed to work.
>
> Another example is the preprocessor. It took 10+ years for C/C++
> compiler vendors to implement it correctly. This isn't because doing a
> macro processor is inherently difficult, it is because the specification
> for C's macro language is so obtuse and full of bizarre special cases. I
> know I've spent countless hours trying to figure out (1) how it's
> supposed to work and (2) how to implement it. It's been scrapped and
> totally reimplemented about 4 times.
>
>
>> What I mean is, one could write a "complete" book about D, and it
>> still would be just a fraction of the size of Stroustrup's "C++". And
>> that's because most of his book explains and chews on issues and
>> implications that are unobvious to the reader or programmer, and that
>> demand knowing them lest you shoot yourself in the foot -- and not
>> even later understand what happened.
>>
>> D has virtually no such crap, so we can scrap 500 pages right off the
>> bat.
>
>
> Consider just one issue with C++ - how to write a "correct" iterator
> class. Even harder is writing a "correct" container class.
More information about the Digitalmars-d
mailing list