logoalt Hacker News

ithkuil12/09/20241 replyview on HN

IIRC initially blaze was literally using python as a config layer. That made it too easy to write build scripts that were too slow and too hard to optimize and that negatively affected the overall build experience.

An increase in edit/build/run cycle efficiency of thousands of employees justifies an investment of a few engineers.

They could have invented a new bespoke DSL. Instead they choose to stick to a well known and familiar language and just limit its expressiveness to a subset that would be easier to optimize. I think that's quite reasonable


Replies

kevindamm12/09/2024

I also remember blaze directly eval'ing Python pre-Skylark, but I think the bigger problem was build hermeticity. This was compounded by env-related issues making it hard to build Python hermetically in the first place, and the importance of cached object files and build outputs in managing the incredibly large monorepo that is Google's source tree. And that's all before considering the Py2->Py3 migration (which, fortunately, was tackled afterwards).

I think a new bespoke DSL would have been a non-starter since so many build scripts had already been written by the time Skylark was being conceived.