
"Darren Cook" <darren@dcook.org> wrote in message news:4042EEC5.6060308@dcook.org...
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 telling 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. Dave --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.581 / Virus Database: 368 - Release Date: 2/9/2004