upvote
> realizes that the fix is incorrect because of sloppy thinking

If the domain expert doesn’t understand the generated code, they can only discover incorrect logic by specific examples (specific inputs), which is usually impossible to do exhaustively. The programmer, on the other hand, can see incorrect logic directly, generalized over all possible inputs and states. It’s the difference between testing and proving correctness.

reply
> In a world of agents, the expert finds the bug, asks the agent to fix it, realizes that the fix is incorrect because of sloppy thinking, does a few iterations until the feature works correctly

That would require clearly (a) knowing what you want, and (b) expressing it unambiguously and in detail, including all edge cases. Essentially producing a spec.

Most people are not able to do either. Talking to an LLM does not change that.

reply
but.. they can iterate real quick!

As long as the expert don't run of patience, he may be able to do that.

Consider finance sector -- the industry is powered by excel spreadsheets made by non-programmer having no clue how programming works.

reply
Spreadsheet is a DSL for finance and a lot of other sectors. But the lack of formal logic capabilities shows when you seen the spreadsheet organization. Most only stand with ducktape all over the place.
reply