More shell, less egg (2011, on McIlroy and Knuth)
leancrew.com
leancrew.com
There is a difference in purpose that perhaps Knuth is seeking to tutorially expose a different way of thinking about the activity of programming. McIlroy is looking for a compact result. I am myself all for short programs, and reusing components, but there is something that is lost in doing so.
I am more aware of this in a security context. For example, consider qmail. It moves mail (some interesting fraction of all internet mail), which sounds like it could benefit from reuse of other components, like the standard library. However, DJB elected not to use the standard library, but to write secure substitutes for necessary functions. The record is clear.
The record is clear also on one of Knuth's major achievements, which is TeX, which has had very few bugs in its lifetime.
So tutorially, McIlroy's counterexample doesn't teach how to programmatically split lines into words without TR, and so on.
One thing that I work with programmers that want to be security folks is to be able to puncture through abstractions. If you understand the details of such abstractions by reading Knuth's approach, you will be further along the road.
So basically I disagree with Knuth has shown us here how to program intelligibly, but not wisely.
But let's not forget that he also indirectly spawned ActiveX ;)
Here's he is in 1968 presenting his ideas on component based software at NATO
http://www.knowledgerush.com/wiki_image/9/95/Software_compon...
My favourite McIlroy quote : "The real hero of programming is the one who writes negative code"