Teach everyone to program

2014-02-05

The microcomputer was invented only a generation ago, it is now in hundreds of devices and gadgets in every home.

We are on the brink of a revolution. A revolution as significant as the printing press. It was hundreds of years between the press and universal literacy (still not quite achieved in the UK, our adult literacy rate is 99%), but we now live in a society where so much information is written and so much commerce and social interaction takes place in writing that you are at a severe disadvantage if you cannot read and write. We are not all writers, but we can all write. Poets can move entire Nations with carefully crafted written words, but even if most of us can’t achieve that, we can at least write a note to our milkman asking for 2 more pints on Saturday (Note 1).

Imagine if Gove (Note 2) suggests that we only teach the gifted to write. Only the playwrights, the speechwriters, the journalists, and the poets will write. After all, all the good stuff is written by them anyway. I hope you can see that this would be madness.

I feel the same way about code and programming. There is a poetry to code; the poets of programming write code with concision and precision: the structure writ clear on the fan-folded page. There is already a rich literature of programming. github overflows with the pulp fiction of the professional and amateur hack alike; likely we will find Lovecraftian horrors there too, lurking, ready to turn our minds into a pretzel. But at the moment this culture is the culture of an elite class. Everyone should be able to program. Most people will not be poets. Most people will not be programmers, but that should not stop us from teaching them to program.

In the future code will be woven into the fabric of our society, just as the written word is woven now. We don’t teach people to read and write because it will be helpful to them in their future career. We teach them because it is inconceivable that they can function without basic literacy. It is inconceivable that in the future we will be able to function without basic coding.

This is why I’m excited about teaching kids to program. Lots of grassroots initiatives to teach programming, like Software Carpentry, Raspberry Pi, Young Rewired State. Let’s build the future now. Teach everyone to program.

Note 1

I live in a quaint postcode where I can still get milk delivered to my doorstep. And I do so.

Note 2

Hello readers from the future! Gove was responsible for education policy in the United Kingdom (Note 3) for a brief period in the early 21st Century.

Note 3

Hello readers from the more distant future. The United Kingdom was a nation consisting of various bits of islands in an archipelago off the North West coast of Europe.

3 Responses to “Teach everyone to program”


  1. I reckon teaching everyone to use hyperlinks should be enough, neither the Lovecraft link nor fan-folded page go anywhere sensible :P

    I _generally_ agree with what you’re proposing, but I’d also love to live in a society where people were taught to vote, and people knew how to feed themselves without the aid of a supermarket. Society has a huge number of problems that won’t be solved by software, and teaching *everyone* how to code when not everyone has access to a computer (and in some cases 3 square meals a day) seems like a frivolous exercise.

    The whole ‘Programming will change the world’ meme worries me. I’d like to see some evidence of it.


  2. Ross – I think it is much more basic than that.

    Alas, we only care *as a society* about the economy. The target is GDP growth. Unfortunately teaching people to feed themselves without a supermarket, or teaching them how to vote doesn’t help GDP.

    However, teaching everyone to code would (because of the historical change we’re just at the start of). Just as teaching everyone to write does.

    Cynically,

    Francis

    P.S. I am despite this cynicism, heavily in favour of teaching everyone to code for all the reasons David gives.

  3. Jon Masters Says:

    Hear hear, fabulously put!


Leave a comment