Subject: Re: [Boost-build] [future] Implementation language(s)..
From: Dominique Devienne (ddevienne_at_[hidden])
Date: 2016-10-26 12:05:55
On Wed, Oct 26, 2016 at 5:03 PM, PJB <darthpjb_at_[hidden]> wrote:
> On 26 October 2016 at 15:42, <aaron_at_[hidden]> wrote:
>> Most developers (here, at least) know nothing
>> about build systems, nor do they care to learn. So, it's not that they
>> *need* logic in their declarations, it's that they *don't know they don't
>> need* logic
>> in their declarations.
> âHonestly, I can agree with this entirely, I've met my fair share of
> developers who think the entire world revolves around C# and the .Net
> framework - not even a clue how a build system goes, or why.
> However, can we really argue that bubble-wrapping a system for the
> incompetent is a valid strategy if itâ diminishes the productivity of the
> I don't want to sound like some kind of intellectual fascist, but I just
> can't accept "dumbing down" a system because the la(z)yman doesn't care to
> learn it's proper use.
It's not a question of dumbing down, but that declarative builds "scale"
much better than "procedural" ones.
It's a mistake IMHO to go with builds which are "written" in a full
programming language like Python (or Ruby, or JS, etc...).
That's not to say extensions to said build system can't be in such
languages, but in a "controlled" manner by adding new
custom rules/actions/whatever, which are then used declaratively as the
core of the build is, and not turn the builds into spaghetti code.
As Aaron wrote, 80-90% of build can and should remain purely declarative.
And IMHO using JSON or YAML, or TOML are ill suited to a build specific DSL,
although I'd much prefer that, than the alternative of a build entirely in
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