4 ms·
If your choices are: - A: Builds well for small projects, scales poorly for large projects - B: Builds well for small projects and scales well for large proje
by dfgdghdf 8y ago
If your choices are:
- A: Builds well for small projects, scales poorly for large projects
- B: Builds well for small projects and scales well for large projects
Why not choose B?
- rusk 8y agoI'd always choose B given a green field, but it's when you already have A that you have to justify the effort to migrate ... EDIT my proposition is that the described build system actually scales poorly for large projects, because you've to maintain an entire tree of hashes! Notwithstanding of course having a helper process in the background to do this for me ...
- dfgdghdf 8y agoAh, I see your point now. However, in practice this is not the case. These hash-based systems scale very well in large organizations. Some more info from Google about Bazel: https://qconsf.com/sf2010/dl/qcon-sanfran-2010/slides/AshishKumar_DevelopingProductsattheSpeedandScaleofGoogle.pdf https://qconsf.com/sf2010/dl/qcon-sanfran-2010/slides/Ashish...
- rusk 8y agoVery interesting ... Two bullet points jumped out at me straightway: - Single monolithic code tree with mixed language code - Development on head; all releases from source Just one other concern I have now. Something like Make, or most other build-systems run pretty much straight out of the box. Something like Bazel lets say is apparently an order of magnitude more complicated. There's a few more moving parts. My only remaining qualm relates to the additional cognitive load of this stuff. At scale, as in Google this isn't so much a problem because these costs would diminish at the point where you can actually assign people to look after it. I really like the idea though! Would be nice to work in a place like Google some day ...