> I don't have strong opinions on build systems but as someone who only occasionally dabbles in systems programming, I know that Zig's build system is infinitely more approachable and coherent than the monstrosities of CMake and any other build system I've ever come across in various C and C++ projects.
Whenever a language builds their own build system in a programming language or a DSL, the issue of composability rears its ugly head. Yeah, it's a bit better to write Zig build in Zig than Bash, or some Groovy DSL.
What it doesn't change that it's hard to compose them. Do you want to add code coverage? Well, you now need to figure out where to add code coverage in your custom build script. Rather than a linear set of steps, you have a tangle of unique "solutions" rather than a standard way to extend the process.
Whenever a language builds their own build system in a programming language or a DSL, the issue of composability rears its ugly head. Yeah, it's a bit better to write Zig build in Zig than Bash, or some Groovy DSL.
What it doesn't change that it's hard to compose them. Do you want to add code coverage? Well, you now need to figure out where to add code coverage in your custom build script. Rather than a linear set of steps, you have a tangle of unique "solutions" rather than a standard way to extend the process.