It's vaguely the same, though. We are abstracting technical language via natural language, but the details still have to be provided in some way. Leaving it to the AI to infer only works for very tiny things where ambiguity is low. For big things you have this ocean of slop because the AI still needs every detail specified else it will make shit decisions based on shit inferences.
I think a dev harness such as the one my company is trying to create is nothing more than trying to get the AI to make zero decisions and ask about even the slightest ambiguity — as it should.
So you wind up with an excruciatingly long detailed natural language spec that consumes boatloads of tokens and is impossible for a human to read through only to produce the exact same thing translated into code.
From that perspective, it's just an abstraction layer. A very sloppy one.