Building hierarchical abstractions on top of code is IMO the only way to truly enable AI to write code beyond better autocomplete. Kevin's work with DreamCoder shows that hierarchical abstractions can be built automatically in the code domain.
Once these abstractions exist side-by-side with natural language (essentially a code-natural language world model), it'll enable arbitrarily complex code generation from descriptions of the outcomes/results.
Doesn't the existence of this nice, encapsulated, hierarchical code make AI coding useless, rather than easy? You can just use those existing abstractions.
The reason AI coding systems exist is because it's hard, with our current programming language and libraries, to do things even if they've been done thousands of time before. If you can build new languages or new libraries/corpus where that's not a problem, you no longer need AI.
Once these abstractions exist side-by-side with natural language (essentially a code-natural language world model), it'll enable arbitrarily complex code generation from descriptions of the outcomes/results.