From: Joel de Guzman (joel_at_[hidden])
Date: 2005-05-08 19:26:11
Andrei Alexandrescu (See Website For Email) wrote:
> Arkadiy Vertleyb wrote:
>> Is it "cumbersome"? I don't know -- is template
>> metaprogramming "cumbersome"? I really believe they are very much alike.
>> Both were not in the initial design, both were later discovered, and both
>> are now "glorified" by some people, and hated by the others.
> First, the degree of cumbersomeness depends on what those tools are used
> for. But that's a tautology.
> Second, I disagree that the template engine and the preprocessor are
> similar. I see very very little similarity. The former is a mean pure
> functional language fostering pattern matching, recursion, and sporting
> knowledge and high integration with the non-templated part of C++. The
> computational model is known and powerful. In contrast, programming
> based on the token-oriented preprocessor uses arcane idioms and
> computations, which IMO just takes us back 40 years. I don't find the
> two similar at all, except probably that they both are being used for
> things they weren't intended for :o).
Ok. As I already mentioned that I used to really hate the PP, you
can easily change my mind. I am not particularly fond of the PP
but the boost PP lib hides all the ugliness behind a usable interface
and that's fine with me. Sure some ugliness cannot be hidden, like,
the arcane all cap naming convention prefixed by BOOST_ to avoid
name clashes, but... it's the only practical way I know. Ok, please,
I'd like to think out of the box! What other alternatives are there?
-- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk