Comment by synalx

18 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.

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