I decry the current tendency to seek patents on algorithms.
There are better ways to earn a living than to prevent other people
from making use of one’s contributions to computer science. Donald Knuth
Donald Ervin Knuth, the son of a printer, was to have a major impact on printing. At the age of thirteen he won a contest to form as many words as he could from ‘Ziegler’s Giant Bar’; the judges had a list of 2,500 – Knuth came up with 4,500.
He earned his PhD in mathematics at CalTech where he became a professor. He wrote a book ‘The Art of Computer Programming’ which grew like Topsy, ending up as a seven-volume series first published in 1968. This rapidly became the seminal text on the subject.
In the process of publishing his books Knuth was made painfully aware of progress in typesetting technology. His first edition was produced and typeset using the traditional ‘hot metal’; Knuth found the finished product using this process to be ‘classically pleasing’.
When the second edition was being prepared in 1976 photographic typesetting was the vogue but many original fonts were unavailable. The galleys, or proofs, that were supplied to Knuth for approval were unacceptable and this led him to investigate the whole subject of digital typesetting.
In 1977 Knuth produced an internal memo at CalTech describing a system known as TeX, a typesetting software program. It worked with a Metafont language that he defined; he created the Computer Modern typefaces. TeX described the required fonts by means of a series of vectored lines and curves to create the font outline (glyph).
TeX had two main objectives – to provide a consistent output on all computers and to permit high quality books to be typeset without an undue amount of effort.
Knuth planned to produce the software during 1978 but in fact it took him until 1989 to finalise the approach. It was first written in SAIL, Stanford Artificial Intelligence Language, and the WAITS operating system (aka TOPS-10).
Knuth has an interesting sense of humour. His software did not follow the normal approach for software version-numbering.
Most designers initially launch a package as version 1.0 with any regular small updates incrementing in tenths, so 1.1 and 1.2. Major updates jump by a whole unit, so 2.0, 3.0…
TeX however started at version 3.0 and advanced towards an ever more accurate definition of ‘pi’ so 3.1, 3.14, 3.141. By the noughties this had reached 3.1415926; and it proceeds…
Metafont started at 2.0 and approached an ever more accurate definition of ‘e’, or Euler’s constant, the base of the natural algorithm; thus it was 2.7, 2.71, 2.718 and so on.
Intriguingly in 1990 Knuth advised his colleagues he would no longer be on email, preferring instead to concentrate on his work.