An old paper on "Programming as Theory Building"
- An old paper on "Programming as Theory Building" [fp]
- The code is not the thing, it's just a projection of the theory of the code.
- The code is the map, the theory is the territory.
- The ground truth of what it's supposed to do and how it's supposed to work.
- Vibecoding makes you less aligned with the theory of the code.[fq]
- The map vs the territory.
- You don't understand the motivation of any line of code, and don't know that a human ever affirmatively did.
- Spec driven development is the theory that the spec is the more important artifact than the code.
- But to be effective, the spec has to be much more in depth than typical engineering design docs or PRDs.
- Typically those are throwaway, so they diverge from the code.
- But if the code is throwaway, then the spec will continue being ground truth.
- LLMs allow us to move up to spec as the primary layer.
- Before it wasn't plausible to represent the spec as ground truth; it was too annoying to keep it precise enough.