On the richness of C++
Georg Wrede
georg at nospam.org
Sun Apr 13 13:33:49 PDT 2008
Walter Bright wrote:
> Edward Diener wrote:
>> Walter Bright wrote:
>>> Kevin Bealer wrote:
>>>
>>>> I was amazed that Boost could do things like the Lambda support with
>>>> _1 _2, etc. Those Boost guys are geniuses.
>>>
>>> I agree, they are geniuses. But that's really what is wrong with C++,
>>> you shouldn't have to be a genius to get advanced things done.
>>
>> Are D's templates a complete replacement in functionality for Boost's
>> MPL ? If so could you write an article on your web site about the
>> how's and why's of that ? I am still trying to understand D's
>> templates based on the sparse documentation of them.
>
>
> I don't really understand Boost MPL, but D's template system is
> considerably more powerful than C++'s. I agree that more documentation
> is needed, *but one can easily write a book about it*.
[my bold above]
ROTFLMHO! :-) :-) :-) :-) :-) :-) :-)
Marketing talk aside, I doubt if anyone thinks even D's templates are
/that/ easy.
(Sorry, couldn't resist. I assume you actually meant the issue is broad
enough. But I /did/ lough out aloud.)
>> Remember that part of the difficult for the Boost developer is also
>> supporting many non-conforming C++ compilers, so part of the genius of
>> what they are doing is manipulating around compilers that do not deal
>> with C++ templates correctly ( perhaps because the details of the C++
>> template system are so abstruse and difficult to understand and
>> implement).
>
> It's amazing even not considering compiler bug workarounds. And yes, a
> large reason for the compiler bugs is because it is so hard to
> understand how it is supposed to work.
(OT:) I think we're missing the point here. Suppose someone finds
archives about C++, compiler development, C++ Standards Committee's
memoranda, drafts and decrees, after /a hundred/ years have passed. Then
one sees *in hindsight* how persistently and altruistically folks tackle
the "hard" parts of computing, irrespectively of if they represent
/actually/ Hard problems, or just something that's hard because other
people did a sloppy job!
I mean, today we just "live with" the C++ spec. With any distance (be it
geographical (as in on the Moon) or temporal (as in looking at our times
as they were some Western movies), it *immediately* becomes painfully
obvious that nobody should accept such a situation without rebellion.
And all the more because "C++ is The Programming Language" of our time.
More information about the Digitalmars-d
mailing list