←back to thread

392 points mfiguiere | 1 comments | | HN request time: 0.204s | source
Show context
candiddevmike ◴[] No.35471951[source]
For folks that are using these kinds of tools, any regrets? How much more complexity do they add vs make or shell scripts?
replies(3): >>35472581 #>>35475058 #>>35475691 #
1. numbsafari ◴[] No.35472581[source]
Speaking of the “tools” genrically, they are totally worth it because of their ability to aggressively cache and parallelize, but also because you end up with more declarative definitions of common build targets in a way that is more or less type safe. I personally think that makes these kinds of tools a win over make. Beyond that, they make it trivial to implement repeatable builds that run build steps in “hermetic” sandboxes. You can do all that with make, but you are abusing the hell out of the tool to get there, and it will look foreign to anyone familiar with using make “the traditional way”.

That said, bazel’s set of prepublished rules, reliance on the jdk, etc, make it not worth the burden, imo/e.

I think less ambitious, but similar tools are where it’s at. We use please for this reason, and are generally quite happy with how it balances between pragmatism and theory.

In any event, having your build tool be a single binary is a major win. I’d rather use make than anything written in python or Java just because I don’t have to worry about the overhead that comes with those other tools and their “ecosystems”.