Wouldn't that be strictly worse than specifying the functionality in code? The reason we've invented programming languages is because natural language is ambiguous and imprecise.
Consider the instructions "take a list, add the number three and five, return the list"
This compiles to both
f(list):
3+5;
return list;
and
f(list):
list.add(3&5);
return list;
and
f(list):
list.add(3);
list.add(5);
return list;
Decoding this type of vague descriptions is something human programmers struggle with, often resulting in a discussion with whoever wrote the requirements about just what the requirements say (sometimes they don't know and it needs to be worked out).
I agree with you, and in fact I think that initial code generation like CoPilot is strictly worse as well. But I'm discussing something orthogonal to code quality here.
Consider the instructions "take a list, add the number three and five, return the list"
This compiles to both
and and Decoding this type of vague descriptions is something human programmers struggle with, often resulting in a discussion with whoever wrote the requirements about just what the requirements say (sometimes they don't know and it needs to be worked out).