Sign In

Communications of the ACM

Historical reflections

The Tears of Donald Knuth

Donald Knuth

Donald Knuth

Credit: Rajan P. Parrikar

In this column I will be looking at the changing relationship between the discipline of computer science and the growing body of scholarly work on the history of computing, beginning with a recent plea made by renowned computer scientist Donald Knuth. This provides an opportunity to point you toward some interesting recent work on the history of computer science and to think more broadly about what the history of computing is, who is writing it, and for whom they are writing.

Last year historians of computing heard an odd rumor: that Knuth had given the Kailath lecture at Stanford University and spent the whole time talking about us. Its title, "Let's Not Dumb Down the History of Computer Science," was certainly intriguing, and its abstract confirmed that some forceful positions were being taken.a The online video eventually showed something remarkable: his lecture focused on a single paper, Martin Campbell-Kelly's 2007 "The History of the History of Software."6,b Reading it had deeply saddened Knuth, who "finished reading it only with great difficulty" through his tear-stained glasses.


Michael Will

One of the main problems I have with the history of computer science, or the history of anything for that matter, is the tendency to keep telling the story, even if the last chapter has been written. A new book should be started at that point; not everything is a continuing evolution.

An example can be illustrated by Knuth's 'literate programming'. Source code becomes verbose and unwieldy when factoring is no longer justifiable due to the cost of calling subroutines. Knuth talked of a decomposition facility being needed. This problem was entirely solved by the early computer language Forth, which reduced the cost of calling a subroutine to nothing more than naming it. Factoring can then continue unhindered. Concatenative languages in general have other features that make literate programming natural.

My tears are not shed for lack of seriousness, but rather for lack of knowing when to stop painting.

Displaying 1 comment

Log in to Read the Full Article

Sign In

Sign in using your ACM Web Account username and password to access premium content if you are an ACM member, Communications subscriber or Digital Library subscriber.

Need Access?

Please select one of the options below for access to premium content and features.

Create a Web Account

If you are already an ACM member, Communications subscriber, or Digital Library subscriber, please set up a web account to access premium content on this site.

Join the ACM

Become a member to take full advantage of ACM's outstanding computing information resources, networking opportunities, and other benefits.

Subscribe to Communications of the ACM Magazine

Get full access to 50+ years of CACM content and receive the print version of the magazine monthly.

Purchase the Article

Non-members can purchase this article or a copy of the magazine in which it appears.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account