Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2007-11-01 20:00:38


on Thu Nov 01 2007, "Robert Ramey" <ramey-AT-rrsd.com> wrote:

> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:87wst1pxnj.fsf_at_grogan.peloton...
>
> Let me try to be a little more constructive.
>
> I got to our local barbeque place once in a while where they sell sodas.
>
> Its a really cool simple system.
>
> a) I pay for my soda at the cashier.
> b) she gives me a cup depending on the size I need.
> c) I amble over to soda machine to fill up while someone
> is preparing my order (This is a parallell build system).
> d) The soda machine has a bunch of dispensors for
> ice, different sodas, lemonade, ice tea.
> e) So I put in a little ice, then some coke (the real thing).
> and then some lemonade. I don't quite fill it to the top
> as I taste it when its about an inch short. Then I add
> coke and/or lemonade untill the top. Now I have
> exactly what I want.
>
> In other places the fill my order over the counter.
> For lots of people this is just fine.
> This means that I can't override it by putting in
> lemonade. Of course, to someone such as myself
> this is unsatisfactory.
>
> If I wanted to automate this process, I would
> need a butler who would watch me do it and
> remember the next time so when I walked
> upto the soda machine, the butler would
> remember me and say - ah mister ramey,
> your usual?

For the most part, your user-config.jam serves the purpose of
remembering "your usual."

> and I would say yes, unless I want
> to override with "Not today james, lets push
> the envelope. Try iced tea instead of coke."
>
> So I have pritives, coke, ice, lemonade,
>
> I have comonly preferred composition (recipes)
> (standard coke and ice).
>
> on which I can base new composition
> which can be easily understood and easily overriden.
> (put in some lemonade)
>
> and saved as a macro ( the butler)

The idea is to make the usual thing simple and unusual things
possible. This is not a new idea. Boost.Build tries (sometimes
unsuccessfully, IMO) to do the same thing.

> So i don't think that its a question of bjam syntax being too opaque
> (though it is),

Oh, I didn't say the syntax is too opaque. I said the semantics are
not straightforward and sometimes unknowable. It's a subtle but
important difference. In this case, the syntax is clear as day, but
you ran into very surprising semantics.

> its that whole concept and goal is misguided

what concept? what goal?

> and I would hope that more effort is not invested without rethinking
> it at a more fundamental level.

Again, very un-constructive. What kind of rethinking is needed?

Just imagine someone had said "the whole concept and goal of
Boost.Serialization is misguided; it needs to be re-thought at a
fundamental level. The whole idea of a library that tries to figure
out what the user should want to do makes no sense." How would you
use that feedback to change anything?

Suppose we re-think Boost.Build at a fundamental level. How do we
even know the fundamentals we're examining have anything to do with
your problems? You've given us absolutely nothing to go on.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk