This is very true. The hardest part of programming is specifying 'exactly' what needs to be done.
However, most of programming is the nitty gritty details. It might not be assembler, but there's still a lot of nitty gritty detail.
I got my start developing back in the Windows 95 days. Conceptually, let's I just wanted a display a grid of items.
So you had to learn about WC_LISTVIEW and message loops..
Then MFC came, and it it's own more object oriented way of doing it.
Then C#, Java, Javascript/html...
So many different languages and ways to 'code' up a grid. Abstractly, it all pretty much the same over and over and over again through the years. Practically though, there were details and nuances between each language that you to figure out to get it working right according to the 'specification'.
How do you populate data?
What happens if there is an error?
What happens if you scroll/click?
How do you tap into event?
How do change behaviour/defaults?
How do pre-populate data or do you load it in dynamically? ...
Theoretically, you could create a code generator where you could take in a specification in English and then it spits out the code in C#, Java... It would be fairly routine stuff. It just hasn't been done for all languages. But if you could train an AI to read these patterns from a large source like github, it could do a reasonable job.
So yes, you are correct that they basically just created a 'smart' compiler with a somewhat unpredictable output. But if it works... all the best. Personally, I got tired of just relearning showing a gridview over and over and over and over and over.