View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Literate programming. Ah, yes, the venerable creation of Donald Knuth, a great idea in concept, just that it failed to become popular in the greater software profession. So, what does Wikipedia have to say about literate programming in this respect?

20190327/https://en.wikipedia.org/wiki/Literate_programming

Oh, now this is very interesting. So, although Wikipedia is not so punctual in stating this, literate programming does have a clear successor that lives on today. First of all, let us remind ourselves that Donald Knuth came from a largely academic background. If you look toward programming in the academic and research fields, you will find that the modern-day concept of electronic lab notebooks is the practical revitalization of literate programming. Mathematica, Sage notebook, Jupyter, you name it. If it’s a “notebook” interface that allows you to intersperse text, graphics, code, and visualizations, then you’ve got yourself the modern-day equivalent of literate programming.

Another prime example of modern-day literate programming is found outside of academia in the form of technical blogging. If you’re writing a blog article in Markdown, and you intersperse coding snippets throughout, with the expectation that you are creating a how-to programming walkthrough article, you’re also doing another modern-day form of literate programming. Matter of fact, there are some software tools to make this process easier for the sake of also automatically generating an executable program from the same source. It’s just that, well, you know, that technology hasn’t become very popular in practice. But, if you wanted to declare modern-day literate programming, that is where you would find it.

It’s important to understand that reference documentation generation from a single-source is not considered literate programming.