Synopses & Reviews
This anthology of essays from Donald Knuth, "the father of computer science," and the inventor of literate programming includes early essays on related topics such as structured programming, as well as
The Computer Journal article that launched literate programming itself. Many examples are given, including excerpts from the programs for TeX and METAFONT. The final essay is an example of CWEB, a system for literate programming in C and related languages.
This volume is first in a series of Knuth's collected works.
Synopsis
Literate programming is a programming methodology that combines a programming language with a documentation language, making programs more robust, more portable, and more easily maintained than programs written only in a high-level language. Computer programmers already know both kinds of languages; they need only learn a few conventions about alternating between languages to create programs that are works of literature. A literate programmer is an essayist who writes programs for humans to understand, instead of primarily writing instructions for machines to follow. When programs are written in the recommended style they can be transformed into documents by a document compiler and into efficient code by an algebraic compiler. This anthology of essays from the inventor of literate programming includes Knuth's early papers on related topics such as structured programming, as well as the Computer Journal article that launched literate programming itself.
Table of Contents
1. Computer Programming as an Art
2. Structured Programming with go to Statements
3. A Structured Program to Generate All Topological Sorting Arrangements
4. Literate Programming
5. Programming Pearls: Sampling
6. Programming Pearls, Continued: Common Words
7. How to Read a WEB
8. Excerpts from the Programs for TeX and METAFONT
9. Mathematical Writing
10. The Errors of TeX11. The Error Log of TeX12. An Example of CWEB
Further Reading
Index