Comment by grey-area
5 days ago
Natural language is in fact a terrible way to express goals, it is imprecise, contradictory, subjective, full of redundancies and constantly changing. So possibly the worst format to record business rules and logic.
This lesson has been learned over and over (see AppleScript) but it seems people need to keep learning it.
We use simple programming languages composed of logic and maths not just to talk to the machine but to codify our thoughts within a strict internally consistent and deterministic system.
So in no sense are the vague imprecise instructions fed to LLMs the true source code.
Before LLMs (and still now) a human will often write a doc explaining the desired UX and user journeys that a product needs to support. That doc gets provided to engineers to build.
I agree - at least with the thesis - that the more we "encode" the fuzzy ideas (as translated by an engineer) into the codebase the better. This isn't the same thing as an "English compiler". It'd be closer to the git commit messages, understanding why a change was happening, and what product decisions and compromises were being designed against.
I think I’d rather have the why in English and the how in code, i.e. keep both, keeping just the English instructions is nowhere near enough to fully specify what was done and why. These things evolve as they are produced and English is too fuzzy.