# Literate Programming
Literate programming, introduced by Donald Knuth, organizes a program for human comprehension and derives both executable code and typeset documentation from one authored source.
It is a structural relative of Atomic Markdown because one artifact produces two surfaces. The important boundary is that literate-programming tools partition and reorder source; they do not ordinarily author one linguistic span to begin or end differently in its two outputs.
Related: [[wiki/Dual-Render Composition|Dual-Render Composition]], [[wiki/Multi-Surface Serialization|Multi-Surface Serialization]], [[wiki/Single-Source Publishing|Single-Source Publishing]], [[projects/Dual-Render Authorship and the Atomic Markdown Double-Brace Grammar|prior-art review]].