3 ms·
If you want to understand McIlroy's code, you can always read the what McIlroy wrote in what McIlroy wrote in Communications of the ACM. If you want to unders
by brudgers 4y ago
If you want to understand McIlroy's code, you can always read the what McIlroy wrote in what McIlroy wrote in Communications of the ACM.
If you want to understand Knuth's code, you can always read what Knuth wrote in the code Knuth wrote.
To the degree "programs must be written for people to read,
and only incidentally for machines to execute" McIlroy's code traded incidental complexity for brevity. Considering his ordinary expectation that readers would be "old Unix hands" at Bell Labs, this is probably an entirely reasonable engineering tradeoff.
Knuth's intended audience has always included at least his future self. To the degree "debugging is twice as hard as writing code in the first place" verbosity is also an entirely reasonable engineering tradeoff. He's been working with some of some of his algorithms for sixty years.
If I had a criticism of McIlroy's response -- and I say "had" because it's been forty years more or less -- it's the either or approach. Literate programming is a not-for-me for a lot of people. That doesn't make it bad or good. Just a not-for-me.
But hell, forty years ago we didn't have so many chances to scratch itches to argument. Arguments always drive engagement for publishers.
Some things don't change very much.