Christopher B. Browne's Home Page

Computing and Computer Science

Christopher Browne

$Id: computin.sgml,v 1.59 2005-12-28 14:06:08 cbbrowne Exp $

Table of Contents
1. Data Structures and Algorithms
2. Exception Management Schemes
3. Memory Management Schemes
4. Architecture
5. Just Obscure...

1. Data Structures and Algorithms

1.2. Literate Programming

Donald Knuth created the concept of Literate Programming when he was writing TeX. The basic concept is that you write the program together with its documentation, using, wherever possible, code to describe code. A "tangle" processor can then be used to extract the executable code out of the documentation to compile as necessary; a "weave" processor builds a TeX file to typeset the documentation including extensive crossreferences.

The extremely good quality of the TeX program can be at least partially attributed to this development approach.

Versions have been created to process C, FORTRAN, Pascal, APL, LISP, as well as to handle multilingual projects.

1.3. Threading

Contact me at