In my post over the weekend about how you don’t need a diploma to code, I was thinking about the multi-volume The Art of Computer Programming that was written by former Stanford CS prof Donald Knuth. Knuth tomorrow turns 74 and it is worth taking a look at various things that you can find online as a means of celebrating his rich and varied life.
I attended the Stanford engineering school while he was teaching there, but I sadly never went to any of his lectures. Knuth’s book project took over his life and re-oriented his research. He explains in this video why he needed to develop his own typesetting language called TeX that he later used to print and publish his books. This is back in the 1970s when we didn’t know from Wordstar or even before PCs had been invented. The typography of his books is a wonderment to behold. TeX actually stands for the Greek letters Tau Epsilon Chi and was called by Gordon Bell “the most significant invention in typesetting in this century.” I still have his book that explains TeX and looking over it you get the feeling that you are at the start of something big.
Here is another link on TeX document preparation system.
Supposedly, Knuth started teaching at Stanford by turning down a job at the National Security Agency. He has received numerous industry awards and accolades and is a fellow of the Computer History Museum. His home page can be found here which has an amusing list of “infrequently asked questions.” He will be in Switzerland tomorrow, accepting yet another award.
The Art of Computer Programming was begun in 1962, and to date is still incomplete. His first draft of the first volume was handwritten and went to 3,000 pages. It was originally supposed to be a single volume, and keeps expanding.
Many of his books and papers contain all sorts of subtle puns, such as naming the version numbers of TeX after the various digits of pi: version 3.141 followed by 3.1415 for example. There are a lot of other references in his Wikipedia entry. He offers to pay $2.56 for each error that a reader could find (the amount is 100 cents in hexadecimal). Known bugs are a bit more profitable to find, $80 in hex (you can figure that out on your own).
You need to know assembly language programming if you are going to attempt this epic manuscript. Bill Gates was quoted on one volume as saying “send me a resume if you can read the whole thing.”
In one of the Web of Stories videos that we have linked to below, he talks about how the designer and the implementer of a first-generation software program need to be the same person, so that you can learn how to shape the syntax and structure of your code as you try to write the actual code.
You can watch others that he has recorded here.
As if these achievements weren’t enough, he also developed several computer algorithms that bear his name. As a mathematics major in college, I am sad to say that I can’t even understand them now. So Happy Birthday Donald, and thanks for the many memories down through the years!