Jeff Atwood over at Coding Horror has thrown a cat amongst the pigeons over the whole “everyone should learn programming” campaign.
To those who argue programming is an essential skill we should be teaching our children, right up there with reading, writing, and arithmetic: can you explain to me how Michael Bloomberg would be better at his day to day job of leading the largest city in the USA if he woke up one morning as a crack Java coder? It is obvious to me how being a skilled reader, a skilled writer, and at least high school level math are fundamental to performing the job of a politician. Or at any job, for that matter. But understanding variables and functions, pointers and recursion? I can’t see it.
I’ve only taken one chunk out of his piece and the whole thing is worth a full read (Jeff is probably about the best writer on programming out there).
I have two fundamental problems with the campaign. The first is a point that Jeff points out, which is that programming is simply a means to solving a problem. Your aim, as a programmer, should be to write no code. I use WordPress for this blog because it’s a better value solution to me than writing my own blogging platform.
The second is that different people have different strengths. I have met people who were sent on training courses in programming and just couldn’t get it. But, one of those people was certainly better at drawing than I am, and the other one was a more natural salesman than I am. Thankfully, they quit programming to do those jobs, which they were more productive at, while I’m more productive as a programmer than as an artist.