Boost logo

Boost :

From: Tom Brinkman (reportbase_at_[hidden])
Date: 2007-08-22 19:47:13


>> What can I learn from your criticism? What is it based on other than
>> the fact that you don't like macros? By what standard shall we decide
>> that use is "overuse?"

I'm not shur that you can learn much from that criticism. Other than that
I like to examine the libraries source code to help me learn about how it
works. If the library is full of macros, or complicated templates for
that matter,
I often will just give up, and rely soley on the documentation.

>> Well, let's be clear. We've been "warm" in the sense that we're
>> willing to use macros when they are the best solution to a problem.

I'm shur thats the case.

>> One could say that for any programming paradigm that isn't "in the
>> mainstream," which is an entirely relative judgement. Certainly
>> Boost's "dependence on and overuse of templates" is often cited by
>> those unfamiliar with certain programming styles as presenting exactly
>> the same danger. At Oracle, they use C and ban C++ for the same
>> reasons.

Good points. Boost should or could be considered a centralized
repository where promising experimental libraries can get additional
scrutiny for evenutal standarization.

>> Well, please study it in depth before leveling such a charge publicly
>> based on your suspicions.

I qualified my statement by saying that I "suspected" that it was the
case, not that it necessarily was a factual statment.

>> The macro generates all the boilerplate of forwarding
>> functions, handles the "forwarding problem" for the user, evaluates
>> defaults in exactly the lazy way one would like without requiring
>> lambdas or other function objects, avoids exposing ArgumentPacks,
>> ...

I think that those are pretty creative uses of internal macros and I
have no problems with those uses. I just hope that I'm never tasked
with their maintenance.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk