Primoz

Get insights on tech, startups, automation, AI, and digital strategy. I explore creative problem-solving, web development, ads, business models, content creation, investing, and productivity. Expect deep dives, experiments, and unconventional ideas from tech to everyday life. 🚀

May 25 • 1 min read

Programming as Theory Building


https://pages.cs.wisc.edu/~remzi/Naur.pdf


I think the text is saying that the program is not just code but also the developer's understanding or mental model, which he calls theory. A developer can only understand theory by hands-on work, not just by reading the code. Even writing and reading perfect docs will not do. They need to write.

We can compare code to a cooking recipe. Theory is the chef’s understanding of cooking. Anyone can follow the recipe, but only the chef understands: why ingredients are chosen, how to adapt it, and what will go wrong.

How does this relate to AI writing code? AI can generate correct code, but it does not hold an internal mental model of the system the same way a human would.

In the past, this has happened when the original dev team was replaced. Now the original dev team is AI. A developer still needs to hold the theory; otherwise, you risk building something that degrades over time. The new developer in the team can build the theory over time, but it is painful and slow. Theory includes things that code does not show. What a team decided not to build and why. What the customer asked for and what they actually wanted, what broke last year, and what was the constraint around it. AI reading the code does not recover this knowledge. This will lead to a future where no one on the team holds the system's theory in their head.


Get insights on tech, startups, automation, AI, and digital strategy. I explore creative problem-solving, web development, ads, business models, content creation, investing, and productivity. Expect deep dives, experiments, and unconventional ideas from tech to everyday life. 🚀


Read next ...