On the richness of C++

Don Clugston nospam at nospam.com
Tue Apr 15 13:23:57 PDT 2008


Edward Diener Wrote:

> Bill Baxter wrote:
> > Edward Diener wrote:
> > 
> >> D has some really nice features but it really needs much better 
> >> language documentation to attract programmers, especially C++ 
> >> programmers. 
> > 
> > Hah, I think the same thing every time I'm forced to try to use a boost 
> > library.  :-)   Like just today when I had to go look at Boost::MPL to 
> > see what it was all about.
> 
> That is a little unfair as you are comparing documentation about a
> computer language library to documentation about a computer language
> itself. 

I think it's reasonable -- boost is increasingly looking like a standard library for C++; it can be compared to D's library docs, at least.
Your point about D's docs is valid, though -- they could certainly be better.

> > The book with the misleading title is about Tango, actually.
> 
> OK. Hopefully it will about D enough for me to pick up the particulars
> better than I have been able to do from the specification.

My opinion (as the technical reviewer of the book) was that the template section discussed things from a C++ mindset, which is probably helpful for a C++ programmer; yet it gives less detail on the interesting unique-to-D stuff which renders many C++ techniques obsolete.

The underlying "problem" is that about a year ago, Walter suddenly stuffed a raft of enormously powerful features into the language in a very short space of time. Suddenly we had tuples, string mixins, and CTFE, and D wasn't playing catch-up with C++ any more. The showcase examples of template metaprogramming became obsolete overnight. We still haven't worked out the idioms for how to use it all; there are some fascinating synergies with existing features.

Which makes documentation, especially the most useful "how-to" kind quite difficult to write at this stage. But I reckon a "metaprogramming tips and tricks" Wiki page would be pretty useful.

-Don.




More information about the Digitalmars-d mailing list