WEB is a computer programming system created by Donald E. Knuth as the first implementation of what he called "literate programming": the idea that one could create software as works of literature, by embedding source code inside descriptive text, rather than the reverse (as is common practice in most programming languages), in an order that is convenient for exposition to human readers, rather than in the order demanded by the compiler.
WEB consists of two secondary programs: TANGLE, which produces compilable Pascal code from the source texts, and WEAVE, which produces nicely-formatted, printable documentation using TeX.
CWEB is a version of WEB for the C programming language, while noweb is a separate literate programming tool, which is inspired by WEB (as reflected in the name) and which is language agnostic.
The most significant programs written in WEB are TeX and Metafont. Modern TeX distributions use another program Web2C to convert WEB source to C.
References
- Knuth, Donald E. (1992). Literate Programming. CSLI Lecture Notes. 27. Stanford, California: Center for the Study of Language and Information.
External links
- The TeX Catalogue entry for WEB
- CWEB homepage
TeX |
|---|
| Macro packages |
- AMSTeX
- ArabTeX
- CircuiTikZ
- ConTeXt
- FarsiTeX
- LaTeX
- MusiXTeX
- Plain TeX
- PSTricks
- TikZ
- TIPA
- XyMTeX
|
|---|
| Alternative TeX engines |
- eTeX
- LuaTeX
- pdfTeX
- XeTeX
- New Typesetting System
- Omega
|
|---|
| Distributions | | Active |
- TeX Live (MacTeX, W32TeX)
- MiKTeX
- TeXPortal
- TinyTeX
|
|---|
| Deprecated |
- teTeX
- fpTeX
- gwTeX
- OzTeX
- AmigaTeX
- PasTeX
|
|---|
|
|---|
| Community |
- CTAN
- TUGboat
- The PracTeX Journal
- DANTE
|
|---|
| Related |
- DVI
- Computer Modern
- Metafont
- MetaPost
- WEB
- CWEB
- TeX Directory Structure
- TeX font metric
- Texinfo
|
|---|
Donald Knuth |
|---|
| Publications |
- The Art of Computer Programming
- "The Complexity of Songs"
- Computers and Typesetting
- Concrete Mathematics
- Surreal Numbers
- Things a Computer Scientist Rarely Talks About
- Selected papers series
|
|---|
| Software |
- TeX
- Metafont
- MIXAL (MIX
- MMIX
- GNU MDK)
|
|---|
| Fonts |
- AMS Euler
- Computer Modern
- Concrete Roman
|
|---|
| Literate programming | |
|---|
| Algorithms |
- Knuth's Algorithm X
- Knuth–Bendix completion algorithm
- Knuth–Morris–Pratt algorithm
- Knuth shuffle
- Robinson–Schensted–Knuth correspondence
- Trabb Pardo–Knuth algorithm
- Generalization of Dijkstra's algorithm
- Knuth's Simpath algorithm
|
|---|
| Other |
- Dancing Links
- Knuth reward check
- Knuth Prize
- Man or boy test
- Quater-imaginary base
- -yllion
- Potrzebie system of weights and measures
|
|---|