Donald E. Knuth (Wisconsin, United States; 1938) earned his PhD in Mathematics in 1963 from California Institute of Technology, to which he would return as an associate professor in 1966. In 1968, he moved to Stanford University as Professor of Computer Programming, and in 1993 was appointed Professor Emeritus at this same institution.
In 1962, he embarked on a monumental seven-volume work titled The Art of Computer Programming, which now occupies him full time. The four volumes released to date are available in nine languages with over one million copies printed.
His numerous awards include the National Medal of Science bestowed by the U.S. government (1979), the Turing Award of the Association for Computing Machinery (1974), the Adelsköld Medal from the Royal Swedish Academy of Sciences (1994) and the Kyoto Prize (1996). He is a member of the American Academy of Arts and Sciences, the National Academy of Sciences, the National Academy of Engineering, and the American Philosophical Society, and a foreign associate of the French, Norwegian, Bavarian, and Russian science academies as well as the Royal Society of London. He hold honorary doctorates from thirty universities, has served on the editorial boards of 34 journals specializing in computer science and mathematics, and is the author of 25 books and 160 published papers.
Speech
Information and Communication Technologies, 3rd edition
Computers may not think but they have their language. And their literature. Donald E. Knuth, 2010 BBVA Foundation Frontiers of Knowledge laureate in Information and Communication Technologies, is something like the literary light of the computing world. Not for nothing is his still unfinished masterwork titled The Art of Computer Programming. “The Art” is the great encyclopedia of programming; the reference work to which computer scientists turn to communicate with their machines. Knuth has taught humans how to talk to computers. His life story and lifestyle, however, could not be further away from what is popularly expected of a technological guru.
Donald E. Knuth hasn’t used e-mail for the last fifteen years. He doesn’t spend time on social networks. He is not a multimillionaire who has made an overnight fortune with the latest great idea. Knuth plays the organ, rides his bike, and gets his best ideas when swimming in the Stanford University pool. He even writes his books in longhand: “There’s a synchronization problem,” he explains. “I type faster than I think, but I come up with ideas at about the same rate as I can write them down with a pencil.” He admits that since his first infancy he has lived “a strange kind of love affair with books” and the appearance of the printed word.
He enjoys reading source code and discovering the mental processes that have guided others in their work – just as, in his student days, he read the great 17th-century mathematician Pierre de Fermat in the original Latin. For him, programs should be written “like works of literature,” so other people, and not just computers, can read, understand and, even, savor them. This, then, is a scientist who shares with artists the “compulsion to produce”: “Just as a poet has to write poetry, I wake up in the morning, and it makes my day to think of adding some lines to my program,” he enthuses. “I just have to program in order to be a happy man.”
It is no surprise then that his academic future was decided by his first encounter with a computer. ”There was something special about that IBM 650, something that has provided the inspiration for much of my life’s work.” The IBM 650, one of the first computers to earn its maker a profit, back in the 1950s, worked with vacuum tubes and punch cards, and was too big to fit inside a car. Knuth would spend hours just watching the lights blink on this “automatic calculator” – as IBM advertised it – and would write his first program for it. It factorized numbers, and ended up with more errors than lines of code. “My first program taught me a lot about the errors I was going to be making in the future. […] Now I probably obsess about not making too many mistakes,” he confesses.
Is this what drives Knuth’s passion for precision? Precision, he admits, is part of the nature of his job, since only the most pared-down thoughts can be understood by a machine. “When you’re doing programming, you have to explain something to a computer, which is dumb. If you write for a human being, he will look at it and nod his head and say, ‘yeah, this makes sense.’ But in fact there are all kinds of vagueness and ambiguities that you only detect when you start writing for a computer.” It is commonly affirmed that you can’t understand something until you’ve had to explain it. Knuth has his own version:“The truth is you don’t understand something until you’ve taught it to a computer, until you’ve been able to program it.”
“The truth is you don’t understand something until you’ve taught it to a computer, until you’ve been able to program it.”
TUITEAR
The Knuth who fell under the spell of the IBM 650 was a second year math student, son of an accounting teacher at a Lutheran school who played the organ in church and kept an offset printer in the basement. His original plan to devote himself to music – he played the organ, saxophone and tuba – fell by the wayside when he got the chance to study physics at the Case Institute of Technology in Ohio: “I was intrigued by the idea that Case was going to make me work hard. I was scared of flunking out, but I was also ready to work.” Finally, however, mathematical abstraction appealed to him more than the “messy” experimental side of physics: “I visualize the symbols. I take a mathematical problem, I translate it into formulas, and then the formulas are the reality.”
If mathematics was the substrate then computers were the catalyst. The appropriate stimulus for a mind already that way inclined. Knuth contends that a computer scientist is distinguished above all by a way of thinking “that correlates well with computers”: “There is a certain intellectual skills set that lends itself to programing. About one person in fifty has this peculiar approach to knowledge, and they came to the fore when the computer was born.”
In 1963, Knuth completed his doctorate at the California Institute of Technology, after resolving the central problem of his PhD thesis in a single, inspired hour’s work. He had by then realized that the key to advancing the infant field of Computer Science lay in mathematics. With math you could check if a program was correct before you ran it, in contrast to the crude and inefficient trial and error method previously in use – write the program then find the errors when it runs. With Knuth programs could be elegant, symmetrical, beautiful… Programing became an art.
But not all Knuth’s work is theory. It is to him we owe the typesetting languages TeX and METAFONT. Knuth developed them out of sheer frustration at the poor print quality of his published works. Originally scheduled for completion during a one-year break from his main line of work, TeX would eventually take a decade to perfect. But the wait was worth it. TeX is now the most widely used program for the editing of scientific texts. And of course it is available in open source, true to Knuth’s championing of the universality of knowledge.
But Knuth’s ultimate legacy is The Art of Computer Programming. Conceived as a seven-volume work back in 1962, a total of three volumes have been published to date (in 1968, 1969 and 1973), with volume 4A just off the press. This is “the seminal work on computer science in the broadest sense,” in the words of the jury’s citation, whose impact on the theory and practice of computer science is “beyond parallel.” Its author reveals the thinking behind the title: “Art means something artificial, devised by human beings rather than by nature, but it also means a work of beauty. What I want is to create something of beauty: that a computer program has style and elegance and communicates well.”
A professor at Stanford University since the age of thirty, Knuth decided at age fifty-five to step into an emeritus role and devote himself entirely to completing his magnum opus. His chair bears the name The Art of Computer Programming.