Comment by synalx
16 hours ago
The problem with "the language tooling is already a build system" is that cross-language dependency chains are a thing. The moment you need a Rust or Zig file to be regenerated and recompiled when a JSON schema or .proto file is updated, you're outside what most of those language-specific toolchains can support. This is where Bazel absolutely shines.
Zig build system can do all that just fine though
If all of your dependencies need to use the same build system as your project then your build system/process is defect anyway. It should be possible to invoke a foreign build system as part of your build.
and it would be terrible for hermeticity and reproducibility, nix tries very hard and gets mediocre results
perhaps, just perhaps, why people go through the trouble not because they are idiots but for actual engineering reasons
Rust build system can do all that just fine though