Everything about Literate programming
Approach to software development
Literate programming (LP) is a programming paradigm introduced in 1984 by Donald Knuth in which a computer program is given as an explanation of how it works in a natural language, such as English, interspersed (embedded) with snippets of macros and traditional source code, from which compilable source code can be generated. The approach is used in scientific computing and in data science routinely for reproducible research and open access purposes. Literate programming tools are used by millions of programmers today. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Literate programmingA 5-minute orientation
- Skim a recent paper: teemi: An open-source literate programming approach for iterative design-build-test-learn cycles in bioengineeringInfluential work since 2022
- Pick up a classic book: HamletThe most-reprinted book on the subject
- Read the landmark paper: Literate ProgrammingCited 892 times
- Go sideways: Web (programming system)A closely related topic
- Go sideways: TeXA closely related topic
📖 Definitions
Noun A programming paradigm in which a program is given as an explanation of the program logic in a natural language (such as English), interspersed with snippets of macros and traditional source code, from which compilable representation can be generated.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Literate Programming
Literate programming simplified
A Multi-Language Computing Environment for Literate Programming and Reproducible Research
Experiences of 'Literate Programming' using cweb (a variant of Knuth's WEB)
The literate-programming paradigm
Literate Smalltalk programming using hypertext
Literate programming
Markdoc: Literate Programming in Stata
🆕 Influential since 2022
teemi: An open-source literate programming approach for iterative design-build-test-learn cycles in bioengineering
Literate programming for motivating and teaching neural network-based approaches to solve differential equations
Teaching Data Science with Literate Programming Tools
Literate Programming With LLMs? — A Study on Rosetta Code and CodeNet
ActinoMation: A literate programming approach for medium-throughput robotic conjugation of Streptomyces spp
📚 Books worth reading
HamletWilliam Shakespeare · 1603
Преступление и наказаниеFiódor Dostoievski · 1866
The Thirty-Nine StepsJohn Buchan · 1915
The Grapes of WrathJohn Steinbeck · 1939- 📕Libraries and literacyGrace Scheel · 1989
A writing bookTina Kasloff Carver, Fotinos Carver · 1982- 📕Learning from public library literacy programsAndrew J. Seager · 1993
- 📕Directory of libraries, information centres and projects in the field of literacyInternational Institute for Adult Literacy Methods. · 1972
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Web (programming system) Web, traditionally styled WEB, is a computer programming system created by Donald Knuth as the first implementation of what he called "literate programming":…
- TeX TeX (/tɛx/), stylized as TeX, is a free and open source software typesetting program that was designed and written by computer scientist and Stanford University…
- Noweb Noweb, stylised in lowercase as noweb, is a literate programming tool, created in 1989–1999 by Norman Ramsey, and designed to be simple, easily extensible…
- Leo (text editor) Leo is an open-source text editor/outliner that features clones (virtual copies of outline nodes) as a central tool of organization, navigation, customization…
- Metafont Metafont is a description language used to define raster fonts. It is also the name of the interpreter that executes Metafont code, generating the bitmap…
- LaTeX LaTeX (/ˈlɑːtɛx/ LAH-tekh or /ˈleɪtɛx/ LAY-tekh, to rhyme with "blech" or "Bertolt Brecht"), often stylized as LaTeX, is a software system for typesetting…
- Donald Knuth Donald Ervin Knuth (/kəˈnuːθ/ kə-NOOTH; born January 10, 1938) is an American computer scientist and mathematician. He is a professor emeritus at Stanford…
- Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ANSI INCITS…