Read Write Web had a piece recently on why to have computing for everybody. It’s a nice piece to add to the other articles that have been published lately on the topic. What I found most interesting were the comments, which argued strongly against the computing-for-all perspective, suggesting instead that programming is too hard and too boring. Computing is important for everyone, but the tools may not be right yet. It isn’t obvious to me that programming must be too hard, must be too boring. How much easier can we make it, and still make it useful?
As I’ve said in your previous article, to paraphrase Are you High??? There is an analogy to be drawn between learning Mathematics and Computer Science. Both require a lot of abstract thinking – in different ways to be sure but nonetheless Abstract Thinking Most people find learning math to be a Painful Experience. I imagine the same will be true of computer programming. There is quite a lot of impetus to learn how to program mobile devices these days and yet the number of Computer Science majors here in America remains relatively the same. So clearly there is a substantial ability barrier to programming in any meaningful sense.
There’s also the boredom barrier. You mentioned children’s capacity to memorize endless facts about Pokemon. The difference here is that Children find Pokemon Entertaining however, how does a teacher make Computer Programming entertaining?! They can’t because it’s impossible. If you start at the low level or even if you start at the windows UI level it simply is boring as hell. Average children will not be able to focus their attention on the programming subject.
Learning spoken languages are completely different because the student is most likely interacting with someone who is already speaking the target language. That interactivity maintains their learning focus. Plus, when learning a spoken language there is AlWays context, you are referring to everyday persons, places and things which the student already has experience of. With Computer Programming sometimes there are concepts that have no context whatsoever and it makes it almost impossible to memorize. And in the case of the rightfully reviled Microsoft there are points where programming structures directly contradict themselves but it’s OK because the Compiler is programmed to catch that particular situation. Maybe it’s a glass is half empty or glass is half full point of view problem, but most people simply don’t have the intellectual capacity to learn computer science/computer programming. Learning a spoken language is Far Easier.