Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-11-21 09:17:54

"Edward Diener" <eddielee_at_[hidden]> writes:

> The MPL documentation is better than before and the reference is excellent.
> However I do not believe the tutorial is adequate for bringing new
> programmers interested in understanding metaprogramming using MPL into a
> general understanding of how MPL works and how to use it. This is because
> the tutorial does not start at the beginning of defining MPL concepts but
> jumps into high order metafunctions without explaining the basis of
> metafunctions or metaprogramming classes to begin with.

That's because it's not a tutorial. It's really just a chapter from
the book that's been lifted. Aleksey and I had some disagreement
about calling it a "tutorial."

> I understand the problem, that metaprogramming is a large concept
> and that understanding the basics would entail starting at a point
> where explaining anything further takes up much more space than a
> mere tutorial would normally encompass. The answer no doubt is to
> buy Mr. Abrahams and Mr. Gurtovoy's book.

I think it's a reasonable answer. An online reference manual for an
STL implementation shouldn't be expected to explain generic
programming, and an online reference for an OO GUI framework
shouldn't be expected to explain OO.

> However despite the good intent of the tutorial, I think that it
> only performs the function of bringing further knowledge of the MPL
> library to those who already understand how the basics of the
> library already work.

Oh come now. Someone who know C++ well but doesn't already understand
the basics of library won't be helped *at all* by this document?
That's really hard to believe. It provides significant explanation,
example, and walkthrough material.

> For those C++ programmers who want to learn to
> understand how to use the MPL library from scratch, I do not think
> the tutorial is adequate.

Perhaps so.

> Perhaps MPL was never meant to appeal to those without a knowledge
> of its precepts to begin with, but by assuming that I think that the
> tutorial will either leave C++ programmers who would like to learn
> to use MPL feeling pretty cold about it, or force them to buy the
> book in order to understand how it works.

It's not intended to force anything. I hope it isn't viewed as a
cynical attempt to generate book sales, because including it and
labelling it a tutorial was really a last-minute choice designed to
(partially) fill an obvious gap.

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at