Interview Transcript – Donald Knuth [pdf]
Having never heard of literate programming, I started poking around.<p>&quot;Physically Based Rendering&quot;&#x27;s intro to literate programming can be found here: <a href="http:&#x2F;&#x2F;www.pbr-book.org&#x2F;3ed-2018&#x2F;contents.html" rel="nofollow">http:&#x2F;&#x2F;www.pbr-book.org&#x2F;3ed-2018&#x2F;contents.html</a> (chapter 1.1)<p>And then answering my own first question about this: how is this different from copious comments? (Source: Wikipedia)<p>&gt; Literate programming is very often misunderstood[12] to refer only to formatted documentation produced from a common file with both source code and comments – which is properly called documentation generation – or to voluminous commentaries included with code. This is the converse of literate programming: well-documented code or documentation extracted from code follows the structure of the code, with documentation embedded in the code; while in literate programming, code is embedded in documentation, with the code following the structure of the documentation.<p>&gt; This misconception has led to claims that comment-extraction tools, such as the Perl Plain Old Documentation or Java Javadoc systems, are &quot;literate programming tools&quot;. However, because these tools do not implement the &quot;web of abstract concepts&quot; hiding behind the system of natural-language macros, or provide an ability to change the order of the source code from a machine-imposed sequence to one convenient to the human mind, they cannot properly be called literate programming tools in the sense intended by Knuth.[12][13]<p>I was then curious if any tooling has been created for literate programming in TypeScript. I haven&#x27;t given a close look yet, but here are some relevant links:<p>- <a href="https:&#x2F;&#x2F;github.com&#x2F;microsoft&#x2F;TypeScript&#x2F;issues&#x2F;31364" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;microsoft&#x2F;TypeScript&#x2F;issues&#x2F;31364</a><p>- <a href="https:&#x2F;&#x2F;johtela.github.io&#x2F;litscript&#x2F;" rel="nofollow">https:&#x2F;&#x2F;johtela.github.io&#x2F;litscript&#x2F;</a><p>- <a href="https:&#x2F;&#x2F;mistlog.github.io&#x2F;ray-tracing&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;mistlog.github.io&#x2F;ray-tracing&#x2F;index.html</a>