One day, an acolyte from the school of Artificial Intelligence paid visit to a Master Programmer.
“Master programmer”, the acolyte said, “in a few years, programming will no longer be necessary. The user will simply enter a description of the desired application into a prompt, and the AI will generate the code”
“I’m sorry, I don’t think I understand”, replied the Master. “What if there is a misunderstanding between the user and the AI?”
“Ah!”, the acolyte exclaimed. “There is a solution for that: You simply train the model on a subset of natural language without ambiguities”
The master contemplated this, and then said: “Sorry, I still do not understand. Will the user not grow weary of typing descriptions in natural language?”
“Ah!”, the acolyte exclaimed. “There is a solution for that: You simply devise a shorthand for certain common programming concepts, just like you would in mathematics or logic”
The master fell silent again, and then said: “Sorry, I still do not understand. Won’t the descriptions grow repetitive after a while?”
“Ah!”, the acolyte exclaimed. “There is a solution for that: The model supports unsupervised learning, so you can teach it new abstractions to be used later in the program description.”
“Ah!”, the master exclaimed. “Now I understand!”
