Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2004-03-01 13:47:19

"Darren Cook" <darren_at_[hidden]> wrote in message
> >>For the same reasons I am also not worried if it cannot be
> >>demonstrated, at this moment, that FC++ is the best way to solve
> >>any particular C++ problem. I am confident that it will be useful in
> >>many ways, but even if it should ultimately turn out that FC++ is
> >>never the best tool, I think accepting FC++ into boost -- with the
> >>exploration of new programming techniques and the interaction
> >>between programmers with different backgrounds which it will
> >>bring about -- would still be worthwhile.
> Gennadiy Rozental wrote:
> > Here we probably disagree. I see boost as a collection of libraries
> > that intent to be used in practice. Ultimately some of them may join
> > C++ standard. Introduction of solution for no problems does not
> > seems to fit this. Note: I do not say that there is no problem domain,
> > I just say that it's imperative to figure it out first, instead of
> > C++ community: "Ok. Here is the library. If you find any use for it let
> > us know"
> I agree (with Gennadiy). Boost, in my mind, is code that could one
> day be part of the standard, and for that I think you need it to be
> solving real-world problems. (which isn't to say that FC++ cannot
> be useful, just that it currently isn't showing any motivating examples
> with benchmarks to show how the code is quicker or safer or has
> shorter source code or easier to understand than the current standard
> practice).

>From the Boost FAQ:

    "Must a library do useful work? No. A library meant as a
    teaching example or demonstration might not actually do any work."

Of course, FC++ *does* do actual work, but the point is that the original
aim of Boost was *not* to *only* include libraries that are "manifestly
productive". As a teaching example, FC++ has already proven itself,
as Joel has pointed out. I think the sheer difficulty of generic/template/
meta-programming should cause us to welcome thorough examples
of working libraries, because at the least, they show us what can and
can't be done, and serve as a model full of lessons that can be re-used
in other contexts. Even just discussing the library helps formalize
idioms and practices that maybe some people find obvious, but are
not gathered together into any definitive document.

The fact that FC++ is huge is a good thing, in my opinion. It forces
people to look at all kinds of different issues that might not normally
get attention. For example, the more instances of Boost.Preprocessor
usage, the better. I find that library very hard to understand, and
concrete examples are the best way to learn something new. Insofar
as FC++ is a library that will continue to evolve over time, I think it
could serve as a useful catalyst for revisiting generic/template/meta-
programming issues as they develop. However, I don't have the time
to give the library a full formal review, so do not consider this message
to be a vote for or against submission, or a review.


Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
Version: 6.0.581 / Virus Database: 368 - Release Date: 2/9/2004

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