4 ms·
The original mental model behind Make is pretty. At its best it feels like prolog for software construction. Like Horne clauses for compiler invocations on sour
by cmrdporcupine 4y ago
The original mental model behind Make is pretty. At its best it feels like prolog for software construction. Like Horne clauses for compiler invocations on source units.
The problem is that the dirty real world of software construction doesn't match this ideal because the tooling is full of OS and compiler and library oddities that require explicit non-declarative interventions.
And that's how we ended up with source trees littered with shell scripts and M4 and autoconf and automake and it was a disaster.
One of the joys of operating in a net-new ecosystem like Rust or Go is having modern build tools built explicitly to avoid all this.
Make filled the "batteries not included" niche for C compilers in the 80s. But the world was too heterogeneous for it to scale nicely for larger, more complicated projects.