Donald Knuth was framed
I&#x27;m glad to see this here, for two reasons: (1) In general it&#x27;s nice when people return to the primary sources rather than second-hand accounts, and (2) this particular topic is of interest to me; here are a couple of previous comments that were somewhat well-received on HN:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22221592" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22221592</a><p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18699718" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18699718</a><p>For further context you can look at past and future issues of Bentley&#x27;s column (and its spinoff); a list of them I collected here: <a href="https:&#x2F;&#x2F;shreevatsa.net&#x2F;post&#x2F;programming-pearls&#x2F;" rel="nofollow">https:&#x2F;&#x2F;shreevatsa.net&#x2F;post&#x2F;programming-pearls&#x2F;</a><p>I guess it&#x27;s a long-standing tradition in literary reviews for reviewers to push their own ideas, rather than confining themselves solely to reviewing the work in question. That is what happened here. Knuth had written a program that he had been asked to write, to demonstrate the programming discipline. But McIlroy, as the inventor of Unix pipes and a representative of the Unix philosophy (at that time not well-known outside the few Unix strongholds: Bell Labs, Berkeley, etc), decided to point out (in addition to a good review of the program itself) the Unix idea that such special-purpose programs shouldn&#x27;t be written in the first place; instead one must first accumulate a bunch of useful programs (such as those provided by Unix), with ways of composing them (such as Unix pipes). A while later, John Gilbert described this episode this way:<p>&gt; <i>Architecture may be a better metaphor than writing for an endeavor that closely mixes art, science, craft, and engineering. “Put up a house on a creek near a waterfall,” we say, and look at what each artisan does: The artist, Frank Lloyd Wright (or Don Knuth), designs Fallingwater, a building beautiful within its setting, comfortable as a dwelling, audacious in technique, and masterful in execution. Doug McIlroy, consummate engineer, disdains to practice architecture at all on such a pedestrian task; he hauls in the pieces of a prefabricated house and has the roof up that afternoon. (After all, his firm makes the best prefabs in the business.)</i><p>There are other points (not mentioned in this article), e.g. the fact that <i>someone</i> had to have written those Unix programs in the first place and writing them with literate programming can lead to better results, and the fact that Knuth&#x27;s idea of using a trie (though not a packed&#x2F;hash trie; that&#x27;s no longer needed) <i>still</i> seems fastest: <a href="https:&#x2F;&#x2F;codegolf.stackexchange.com&#x2F;questions&#x2F;188133&#x2F;bentleys-coding-challenge-k-most-frequent-words" rel="nofollow">https:&#x2F;&#x2F;codegolf.stackexchange.com&#x2F;questions&#x2F;188133&#x2F;bentleys...</a> (please someone prove me wrong; I&#x27;d love to learn!)<p>Knuth gladly included McIlroy&#x27;s review verbatim when he reprinted this paper in his collection <i>Literate Programming</i>. BTW here&#x27;s an 1989 interview of McIlroy <a href="https:&#x2F;&#x2F;www.princeton.edu&#x2F;~hos&#x2F;mike&#x2F;transcripts&#x2F;mcilroy.htm" rel="nofollow">https:&#x2F;&#x2F;www.princeton.edu&#x2F;~hos&#x2F;mike&#x2F;transcripts&#x2F;mcilroy.htm</a> where he looks back and calls Knuth&#x27;s WEB “a beautiful idea” and “Really elegant”, and his review “a little unfair”, though of course he reiterates <i>his</i> main point.