While I agree with this sentiment, it's hard to know whether it's more or less evil than munging imperative and declarative build instructions in an XML file ...
Has anyone ever just thought about just replacing the tabs with something else and leaving it at that?
My own experiences with Make show there's a bunch of other things that make it difficult to manage and maintain beyond a certain point.
Exactly. The proof of the basic utility of the system is that it persists in the face of a decades-long firehose of "better" build systems being thrown around. Anyone remember Imake? Scons? (Automake is still around, but everyone hates it.) Oh sure, the fashion these days is something different and those tools are "bad", but by 2024 it'll be something different still.
Tool automation with dependency handling and parallel execution is just an inherently hard problem. No one solves it well. But make solves it cleanly. And that counts for something.
While I agree with this sentiment, it's hard to know whether it's more or less evil than munging imperative and declarative build instructions in an XML file ...
Has anyone ever just thought about just replacing the tabs with something else and leaving it at that?
My own experiences with Make show there's a bunch of other things that make it difficult to manage and maintain beyond a certain point.
[0] https://ant.apache.org/manual/intro.html