←back to thread

392 points mfiguiere | 1 comments | | HN request time: 0.206s | source
Show context
shaman1 ◴[] No.35476103[source]
Excuse my ignorance but what are the advantages of using such a system over the standard build systems of various languages (vite, gradle, maven, pip, etc)?
replies(2): >>35476212 #>>35476453 #
1. gabrielrc ◴[] No.35476212[source]
In my experience there are two main advantages: reproducibility and cross-language support.

Build systems like maven can read from the entire filesystem (e.g. it reads from ./~m2) and you might end up with artifacts that depend on the state of the machine. This makes debugging production issues harder. You can of course be careful with other build systems to stay reproducible but it's easy to make mistakes and buck will enforce that you don't.

Companies like Meta and Google have huge monorepos and are using multiple languages. It's common for developers to deal with multiple languages and for projects to depend on other languages. Buck can deal with that very naturally and avoids the engineers to deal with multiple build tools.

There are other upsides and downsides listed on their website.