Earlier quoted context omitted.
Glad to hear it! To synthesis my comment down (because it's easier once I've written it once, poorly): The complexity you see in Bazel/Buck/Pants build files may seem like a result of their decision to use a programming language. That's a red herring. That complexity is fundamental to the problems people need to solve to build software. If you remove the ability to solve it in your build system the complexity will mo…
+1 Glad someone else brought up this topic and phrased it way better than I ever could have! This other comment further down puts it very well, too: https://news.ycombinator.com/item?id=34892724 > If you remove the ability to solve it in your build system the complexity will move to other systems. Adding to this: I think one of the main limitations of purely declarative (e.g. YAML-based) configurations is that a decl…
The other differentiation I think is worth on the following part, also which I'd liked a lot btw:
> move [the complexity] to other systems
which stemmed from:
> If you remove the ability to solve it in your build system the complexity will move to other systems.
I think it is even _more_ beneficial to consider that this does not start at the build system:
If you don't have and don't add the ability at development (make it a property of the project), the complexity will continue to _increase_ each time you move it into other systems after it (build, version control, CI, ... etc.).