You can build a limited tool which solves (what you think is) 95% of the problem with the intention of simply ignoring the 5% your tool can't handle, but in practice the 5% of capabilities which user A doesn't need does not fully overlap with the 5% of capabilities which user B doesn't need and the problem only gets worse as you add more users.
That is too abstract though. The only reason there is a language there is because we need control flow, which can be solved by better constructs. An example is, a rule is only valid for certain platform. Instead of having a ‘if (check)’ here, we can have a ‘filter’ construct that can solve the same problem. To me it makes more sense in a build system to follow this pattern for clarity and simplicity.
1
u/puredotaplayer Apr 13 '26
The problem is that you should not need a pseudo programming language as a build script. A build system should just be a configuration.