I bet you can tell me how to get from Tampa to Atlanta.
But I bet you couldn’t tell a 5 year old how to get from Tampa to Atlanta safely. Even if that 5-year-old had a perfect memory.
And the reason is obvious – the 5 year old is lacking a tremendous amount of knowledge about how things work. He doesn’t know how to deal with problems, and you simply can’t imagine or describe every single problem that the 5 year old could possibly have in the process of getting from Tampa to Atlanta.
Computers are like that 5 year old. They can do all sorts of wonderful things, within a relatively safe sandbox. But take them out of that sandbox, and they are lost. They lack domain knowledge. They lack perceptiveness of danger. They lack the skills to deal with unexpected adversity. And you don’t have enough time, smarts or imagination to correctly anticipate all that adversity – not without a tremendous amount of training and practice. I.e. a decade of experience “programming your 5 year old”.
When you imagine a future where “everyone can code”, you should mentally replace “everyone can code” with “everyone could give a five year old detailed instructions on how to safely get from Tampa to Atlanta without human intervention.”