2 ms·
A lot of comments in this thread about struggles with setting up a config. My intuition is that this is because we are using a declarative programming model: a
by erikpukinskis 9y ago
A lot of comments in this thread about struggles with setting up a config.
My intuition is that this is because we are using a declarative programming model: a config file, rather than code.
I don't really understand why we would use, say, Ruby to encode a web server, and then use JSON to encode the build process. We choose our programming languages very carefully for their ability to express powerful control structures, ease of maintenance, debuggability.... and then we use a brittle, underspecified language of flags, nested keys, and filesystem tests and side effects to program our build system... Why?
Can someone who believes in this declarative config build system explain why, in the abstract, it's a good fit for build processes, when we'd never choose a language like that for our actual codebase?
I'm influenced here by Jonathan Blow, who designed into Jai the ability to run arbitrary Jai code during the build process, for this exact reason.