It was a wonderful talk by someone who is clearly passionate about education. One of the audience afterwords raised a question about the general trend toward getting everyone to be programmers. Picking up on the gist of his point was that he wanted his kids to love poetry and language and not be served up in the “dark satanic coding mills” of the future.
That is a little exaggeration but you get the point. I’ll be honest, it’s not something I want for my kids either. More importantly it betrays a serious misunderstanding of the nature of programming.
A good way to start thinking about this is in this quote from Fred Brooks
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. Yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be. … The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn’t work. Human beings are not accustomed to being perfect, an few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.
-Frederick P. Brooks, “The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)”