TBH it’s hard to say which operate model is better anyway. They are simply incompatible :)
Related topic: https://youtu.be/Pzl1B7nB9Kc
https://github.com/bazelbuild/bazel/issues/1920
https://stackoverflow.com/questions/32845940/symbols-from-st...
We just had the ugly requirement of having to build a rust library/crate that uses C++ libraries (tensorflow lite + libedgetpu). That forced us to use bazel, on/for platforms that i have little experience / love for (Windows, Apple platforms).
Hitting the platform annoyances of each of those platforms just added to the pain. (On Windows, the 260 character path limit + on iOS Apple messing with ar binary used to create static libraries).
Left a very bad taste of trying to use bazel as a build tool. Even handwritten 1000+ lines of makefiles/experimental build systems like qbs did not cause so many headaches.
to show how awesome bazel is - in one step it can build (compile) and package them into a .zip file ready to deploy to NuGet-like repo or other place.