Boost logo

Boost-Build :

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
>> don't
>> *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
> competent?
> 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
Python! --DD



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