
[boost] Re: Some remarks on PP docs Date: Fri, 11 Jun 2004 16:36:19 +0300 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Paul Mensonides:
Chaos, as opposed to Order, intentionally encourages better understanding of the actual language being used (which is not Chaos, but the preprocessor) rather than trying to hide it as much as possible.
I've discussed this with you earlier, but I'd still like to point out that the intention behind the design of Order has not been to "hide as much as possible" or to discourage "better understanding", but rather to *provide* a language that definitely *is* easy to understand and convenient to use. A person unfamiliar with Boost.PP should be able to learn to use something like Order and use it for productive, even non-trivial, work (which is usually C or C++ code generation) in significantly shorter period of time than it takes to learn how to do similar things with Boost.PP (or Chaos). I also noticed other, IMO, misleading comments on Order [vs Chaos], but I don't have the time to comment on those at the moment. -Vesa Karvonen _________________________________________________________________ The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=features/junkmail

-----Original Message----- [mailto:boost-bounces@lists.boost.org] On Behalf Of Vesa Karvonen
Paul Mensonides:
Chaos, as opposed to Order, intentionally encourages better understanding of the actual language being used (which is not Chaos, but the preprocessor) rather than trying to hide it as much as possible.
I've discussed this with you earlier, but I'd still like to point out that the intention behind the design of Order has not been to "hide as much as possible" or to discourage "better understanding", but rather to *provide* a language that definitely *is* easy to understand and convenient to use.
It wasn't intended to be condescending, merely to illustrate different design aims. Order hides the complexity of the language that is the preprocessor by providing a replacement language. Chaos provides tools to manipulate the preprocessor language directly. Neither is necessarily better, but they are fundamentally different.
A person unfamiliar with Boost.PP should be able to learn to use something like Order and use it for productive, even non-trivial, work (which is usually C or C++ code generation) in significantly shorter period of time than it takes to learn how to do similar things with Boost.PP (or Chaos).
So what? I didn't say otherwise. I said that Chaos is fundamentally more powerful, which is true. That doesn't mean that it is easier or better for all possible applications.
I also noticed other, IMO, misleading comments on Order [vs Chaos], but I don't have the time to comment on those at the moment.
None of them are misleading--and none of them are intended to be derogatory. In particular, the continuation machine enforces a particular style of design and is therefore design altering. Sometimes that is worth it, sometimes not. Chaos is significantly looser in this regard. Similarly, if you use the higher-level language that is implemented internally on the continuation machine, you pay for that indirection. For trivial uses--on preprocessors that don't have abysmal speed in general--the cost may very well be worth it. In non-trivial uses, the cost becomes significant--even on relatively good preprocessors like gcc. None of this means that either Chaos or Order is better than the other, it simply means that there are tradeoffs involved. That is the opposite of the stance that you take--mostly because of other reasons like language purity, etc., which I don't consider to be nearly as important as you do. I also consider total high-level abstraction without the accompanying low-level techniques to be destructive to the field in particular and to the notion of critical thinking on a more general level. Regards, Paul Mensonides
participants (2)
-
Paul Mensonides
-
Vesa Karvonen