Here is a question from the interview:
Andrew: One of the few projects of yours that hasn’t been embraced by a widespread community is literate programming. What are your thoughts about why literate programming didn’t catch on? And is there anything you’d have done differently in retrospect regarding literate programming?
Professor Knuth had a good and interesting answer, which I will not go into here. Also, it was a good question- Literate Programming is a good idea, yet we have only seen weak imitations of it like Doxygen and JavaDoc (which automatically document the syntactic structure of code instead of really helping the programer become an author and explain their meaning and intent).
Mr. Binstock even includes a link to a site promoting the concept. Let us, as the kids these days say, “click through” and see what awaits us.
This is great. Literate programing is definitely Web 2.0 (rounded corners, use of light pastels and cool gradients). This is now, this is modern, sign me on. The site even has links to original articles by the masters:
Literate Programming - CACM Series Programming Pearls: Literate Programming, CACM (May 1986) Programming Pearls: A Literate Program, CACM (June 1986) Programming Pearls: Abstract Data Types, CACM (April 1987) Announcing Literate Programming, CACM (July 1987) LP: Processing Transactions, CACM (December 1987) LP: Expanding Generalized Regular Expressions, CACM (December 1988) LP: A File Difference Program, CACM (June 1989) LP: Weaving a Language-Independent WEB, CACM (September 1989) LP: An Assessment, CACM (March 1990) The Literate-Programming Paradigm Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99.
Time to click through and see how the Association for Computing Machinery helps disseminate, guide and educate:
Oh, maybe this is part of why Literate Programming hasn’t been embraced: the whole purpose of Literate Programming is lost when you keep it a secret.
I am sure I have been a paid ACM member from time to time, but I don’t remember the online credentials and they have probably lapsed by now. I tried applying for the free temporary credential (the online form ended up not sending me anything- ACM not so good with the computers). I can afford pay (yet again) to re-join ACM but why would I want to give my money to support an organization so far from my (and common) academic values?
So in conclusion:
- Sorry Professor Knuth, you remain one of my heroes, but I’ll have to get to Literate Programing a bit later. I would say that the marketing campaign behind Literate Programming has excessive “breakage.”
- ACM: that was a funny joke, great head-fake, impeccable comic timing, good fun and I certainly learned something. Oh, and I will see you in hell.
Data Scientist and trainer at Win Vector LLC. One of the authors of Practical Data Science with R.