It very much builds on the hash-based cache lookup mechanism this paper calls constructive traces (in contrast to what they call deep constructive traces) to eliminate transitive trust relationships.
Buck and Buck2 from Meta are descendants. Buck2 is an excellent piece of software. Too bad it is still niche.
It's kinda awkward situation with Bazel, buck2 is arguably simply better system but Bazel has an ecosystem. That makes both of them less attractive solutions atm.
Naturally, the ecosystem is a chicken and egg situation; it will not improve unless some brave souls will do some trailblazing. Meta can not be expected to solve this when they have their own custom internal ecosystem which is not really applicable for others.
cosmic_quanta•7mo ago
This stands in s t a r k contrast to other disciplines (e. g. Physics) where papers are usually ultra dense, making it hard to read even for subject-matter experts.
triknomeister•7mo ago
user_7832•7mo ago
wk_end•7mo ago
Most developers would struggle quite a bit to read typical theoretical computer science papers.
pxc•7mo ago
Rather than engineering, the academic discipline of software engineering grows out of computer science, which was born as an area of interest in mathematics. It shows! Because most developers who prepare for their jobs by their choice of major in school typically study computer science, let's consider a typical curriculum: a tiny bit about how hardware works, a small amount of "low-level" software stuff in a class where students work in assembly language, some management science-ish stuff (typically part of the software engineering classes, focused on the development lifecycle, development methodologies, etc.), and a little bit about "design patterns", which is engineering-y but often more qualitative than quantitative in nature. You can often get cross-listed credit for some electrical and computer engineering electives, but they're very much optional. (And many schools don't even have a software engineering program per se, only a computer science program.)
To the extent that software engineering even is a theoretical discipline that can be "applied" on the job, it doesn't share much, ancestrally or methodologically, with engineering. The most they really have in common is that they are broadly speaking puzzle-solving disciplines that often rely heavily on fairly sophisticated formal reasoning.
> Most developers would struggle quite a bit to read typical theoretical computer science papers.
This is probably true, though, perhaps especially because even those who study computer science as undergraduates don't aim to be computer scientists. Their emphasis is reflected in their electives, and they don't continue to study computer science once they join the workforce.
Is this unusual? Can most nurses not only competently but effortlessly read and understand the research output of working medical scientists? Can a one-time biology major typically read and understand contemporary research on micro-organisms without "struggling quite a bit"?
pjmlp•7mo ago
Likewise in many of those countries, nursing is an university degree with many lectures shared with medicine degree, during the initial years.
pxc•7mo ago
I didn't know this! Thank you for correcting me.
> Likewise in many of those countries, nursing is an university degree with many lectures shared with medicine degree, during the initial years.
That's how it is where I live as well. My point was just that an undergraduate education doesn't really prepare a person to easily keep up with the research of specialists (although it might orient one enough to get through it with some effort and possibly some lingering questions).
moffkalast•7mo ago
webdevver•7mo ago
rockostrich•7mo ago
Or you could just call it what everyone has been calling it for the past 20 years and say "software engineering."
mhh__•7mo ago
IshKebab•7mo ago
Build systems don't involve anything really complex. Go and read some papers on unbounded model checking if you want unapproachable.
mrkeen•7mo ago
https://simon.peytonjones.org/great-research-paper/