BLUF

Your LLM conversations are emphatically not Literate Programming. The term "Literate Programming" cannot include code with separate documentation.

I won't call it "Illiterate Programming."

Sad Story

An LLM coder had a lot of things to say about productivity, and explained their approach. They wrote 800 or so words, and -- thankfully -- it didn't seem to have too much AI-slop-talk in it. Here's my 12-word summary:

I save all LLM discussions in the repository along with the code.

This was followed by something that doesn't seem to make sense to me:

This follows Donald Knuth’s literate programming approach. The narrative is more important than the code. The code should be easily comprehensible by humans and LLMs alike.

What? The narrative is distinct from the code? That's not Literate Programming.

Disagreement

I disagreed: "It seem like this doesn’t precisely fit the original Knuth point of having a single source of truth that creates published results and compiler-friendly code with absolutely transparent tooling."

By way of my background, here are two links:

This is to suggest that I know a little about Literate Programming. (I didn't provide this in my response. I'm only providing it here.)

Here's yet more reference material: http://www.literateprogramming.com.

Non-Responsive Response

Their response was 800+ words of what read like AI-slop-talk. It's hard to parse AI slop.

I wish folks would include the LLM prompt they used so I can understand what they were trying to get the LLM to say for them.

I think I found 5 points floating in the sea of words.

  1. Knuth’s system never caught on.

    True in a narrow sense of "it never surpassed old-fashioned code+comments with separate documentation." However, it still has practitioners. It's still well-defined. It's still a single narrative that contains the code.

  2. Knuth's approach dates in a different time and different technology.

    I don't see how. Code is still code. Documentation is still documentation. They can still be unified so there's a single narrative that contains the code.

  3. Knuth was referring to the combination of the narrative and the code.

    Um. No. In Literate Programming, the narrative is the code. There's no "combination".

  4. The narrative was not a single, reproducible source of truth.

    Still no. The narrative is the code and is a single document with everything in it. That was and remains the core principle. The tooling to extract compliable code from the narrative is transparent.

  5. The idea of literate programming is finally taking off, but in a slightly different form.

    Only if "Literate Programming" is twisted out of alignment with what it originally meant. Collocating the LLM vibe-conversation with the code means the narrative is separate from the code. This isn't literate programming.

I found this aggravating because I don't think we should bend the terminology like that.

A Suggestion

I provided the Bart Childs "Literate Programming, A Practitioner's View", Tugboat, December 1992, pg. 261-262 quote from http://www.literateprogramming.com as background for my viewpoint.

I followed it with this: "I think this LLM-based programming is something new and different and needs a new and different descriptive phrase."

I tried (and failed) to make it clear that they're misusing the words.

Summary

The response was dismissive. Thank god it wasn't 800 words of slop. Merely 350 words that seemed to suggest they didn't waste time reading the material I provided. (And if they did, they refuse to change their approach.)

The bottom line was they couldn't think of another way to describe the idea of keeping the LLM conversation with the code. They were going to continue to call it Literate Programming. In spite of the documentation being explicitly separate from the code.

Sigh.

Since the next stop on this journey is a flame war, I exited the original conversation and posted my angry response here.