Programming is translation of requirements written in natural language, graphical notation, and mathematical notation to a deterministic syntax. There has been much improvement in making these syntaxes more closely match these older forms of communication, and I'm sure this is one tool that will be used in the future. However until AI can gather its own requirements, there will always be a translation step that people must do. When this technology comes to fruition, requirements gathering will become programming.
What we need are libraries of (automatically verifiable) requirements. As open source components which can be compose together, like we do with the code today.
Then we, possibly assisted by "AI", can assemble a solution matching the requirements.