Post

In 1985 Peter Naur argued that a program is more than just its source code. "Programming As Theory Building" explained how we build theories of the code which help us debug and refactor it but those theories rely on knowledge from outside of the code. pages.cs.wisc.edu/~remzi/Naur....

1 repost12 likes

I feel like over the years, we've sort of given up documenting our mental models of code and just accepted that everyone who reads the code builds their own model from scratch.

Now, with vibe coding we don't even do that. The agent is often the only one with a mental model of the code, and it throws it away after each session.

Only document. Double down on documents. And insist on them being faithful. The code coming with a perfect textbook intro to it, and the code perfectly implementing this textbook.

I mostly agree but Naur is arguing that there’s no such thing as a perfectly faithful spec either. We need to draw the line somewhere. But I’m optimistic that language models help us get a lot more of the details out of our heads and into the specs.