King Knuth

The latest discussion on the SIGCIS mailing list surrounded the impending release of a new volume (or sub-volume, rather) in Donald Knuth's computer science masterwork, The Art of Computer Programming. Volume 4A is now in print from Addison-Wesley. Paul Ceruzzi announced this development earlier today:

  • "Amazon has listed volume "4A" of Knuth. I won't believe it until I get my hands on it. Volume Three (Sorting and Searching), was published in 1973. Does this strike anyone else besides me as strange? Knuth had a huge influence the history of computing--besides his contribution to computing. I use the past tense because I haven't seen Volume 4 yet."

(See also Paul's own post on the matter at the IT History Society blog, and the discussion on Slashdot)

It is impossible not to notice, as Paul pointed out, the decades that have passed between this release and the last major volume in the series. Some read these "why so long?" questions as a slights on Knuth, and came to his defense:

  • "I sense a tinge of criticism for his work, e.g., doubts if vol. 4 will be published, if it has and how, importance of his work, etc. I think we need to keep something very fundamental in mind: That this gentleman did more to codify important parts of computer science and published more on his chosen subjects of importance than any of us on this siglist have so far."

I see them, however, as a product of natural historical curiosity - how did it come about that this founding figure of computer science produced massive volumes at such a prodigious pace for a decade, and then simply stopped, despite evident plans for a larger work?

History is, in a sense, always disrespectful, especially when dealing with living subjects. We take real people and turn them into actors in our plays, giving them roles from which they might demur if we had the courtesy to ask. Nonetheless, we can't shy away from asking these kinds of questions if we want to understand the past.

List-members offered two different potential answers:

  1. A change in personal interests: Knuth pursued other (and perhaps more significant) projects, such as his work on digital typesetting (i.e., TeX), and therefore devoted less energy to expanding TAOCP: "Between then and now Knuth also did multiple revisions of his first three volumes of TAOCP, put out a volume in the series updating the hypothetical machine he uses for algorithm analysis, has put out eight or so volumes of his collected papers, wrote his volume on Concrete Math, and wrote his bible study books."
  2. A change in social context: The field of computer science was growing exponentially, and it simply became impossible by the mid-1970s to provide a definitive work that kept pace with developments field: "Unfortunately the literature of the field was growing a lot faster by the late 1970s, so every year the scope of the task grew and completion became more challenging. Progress slowed, probably influenced by Knuth's sidetrack into computerized typesetting with the TeX system. ...given the size of the field today even one additional chapter would be a respectable lifetime's work in itself."

The fact that volume 4A, Part 1 weighs in at a mammoth 912 pages certainly jives with answer #2. Though there's something delightfully computer science-y about this recursive division of volumes into sub-volumes and sub-sub-volumes, it doesn't bode well for a completion of the project in finite time. Yet many other writers have had no problem producing computer science textbooks in the meantime - doing what textbook writers in every field must do, condensing and abstracting, and focusing only on the most important points. Perhaps the combination of exponential growth with encyclopedic ambition was what slowed the project to a crawl.

None of this, as I've said, is intended as a slight on Knuth. As my fellow SIGCISers have pointed out, the achievement of volumes 1-3 alone would have been enough to cement his legacy, even ignoring all his later work. And it was almost certainly their grand ambition that has made them such a foundational classic of the field - "make no little plans," as Daniel Burnham is supposed to have said. The fact that at age 72 Knuth is still driving ahead on this project with plans that extend at least to 2020, is incredibly impressive.

What do you think? Am I dead wrong about Knuth? About computer science? About history? Please continue the discussion of Knuth and TAOCP in the comments section!