This is the most brilliant thought I’ve ever read on technology education:

The Second Self portrays a time of relative innocence [in the early 1980s]. There was not much talk of screen violence and there seemed to be so much time. The fact that “regular” people, from home computer hobbyists to fifth-grade teachers, were still discussing the merits of computer programming as an intellectual pastime gave the sense that there was time to think, time to experiment with new forms, time to look at effects. Today, the computer culture acts on the individual with new speed and ferocity.

Sherry Turkle, “Epilogue (2004),” The Second Self 20th Anniversary Edition

This paragraph prompted me to reread David Brin’s 2006 essay “Why Johnny Can’t Code,” another attempt to answer the question of why kids don’t learn to program like they did in the 1980s. It’s a stirring essay, but it’s conclusion is merely that no one is providing “tools that teach creative thinking and technological mastery.” This begs another level of analysis—why aren’t these tools available to kids?—and Turkle provides part of it. I’m going to try to take her conclusion a step further.

We’ve come to see computers as tools for efficiency, not exploration. Sure, “surfing the web” has seen a resurgence in Wikipedia link-hopping, but I suspect even this is a minority activity. And even this is not an exploration of the computer. The meaning of the computer is less contested now than it was in decades past: computers are tools now, not worlds and certainly not the “mathlandSeymour Papert saw in them. It is as tools that teachers see computers, that managers see computers, that the developers at Microsoft and Apple see the interfaces they’re giving us. And they’re developers, not programmers, because they’re focused on the product of software, not the practice of programming.

Is there room in this world for programming as an intellectual pastime? Of course there is. That spirit is with us in free software and in other hacker communities. But hacking has become countercultural again, like it was in the 1970s. The idea that programming is worthwhile for the lessons it provides about logic, math, systems, and philosophy is as marginal now as it has ever been. The idea that it’s the best way for kids to learn these lessons is even more marginal.

All of this, Turkle hints, is not because computers themselves are marginal but precisely because they’re central to our lives. We have to learn so much just to use them—and we think that we have to teach so much to kids—that there’s no time for thinking, for experimenting with new forms, for looking at effects. If the geeky among us, adult and child alike, do find a spare hour, our “information consumption devices”—Brin’s phrase—rush to fill it. The personal computer has become less so, a device for listening like the radio before it.

Brin’s essay is structured around a quest for a tool his son can use to learn to program. He and his son eventually conclude that this tool is not, as they expected, some software that they can install on their Mac OS X or Windows machines; it is, instead, a used Commodore 64, released in 1982. It is a machine that does not connect to the internet and the web, a machine for which it has become a challenge to find software (not to mention that their floppy drive doesn’t really work). It’s a computer built with a set of purposes almost entirely different from those of a 2005 Dell box. Tinkerers, hobbyists, and gamers bought the Commodore 64; everyone buys Dells, which are supposed to have a practical function. The Commodore 64 boots to a BASIC prompt; any modern machine boots to a GUI. There is very little about computers built in the last twenty years that invites experimentation.

Epilogue

I’m bothered by Brin’s preference for BASIC over other programming languages his son could learn. There are two options that strike me as superior. The first is Logo. It was actually designed for education, and depending on the implementation it can do lots of exciting things. (The technology education consulting company I used to work for endorses Terrapin Logo, which looks pretty cool.) The second is Ruby. There’s a Ruby interpreter you can try without even leaving your browser, with a really amazing built-in tutorial. It’s at least a way to discover how a command line feels, which is pretty cool.

There is another path Brin and his son could have followed. They could have installed Linux, or Cygwin, or resorted to the Terminal application on their Mac, and turned their machine into one that does invite experimentation. It would have taken some tinkering to get it to work how they wanted it to, of course, but that too is a learning experience—one about which Brin seems strangely unenthusiastic. They could have closed their browsers and the other ethereal apparatus of computing as consumption, even booted the machine to a command line and vanished the distractions of the GUI. Our polished, functional information consumption devices are flexible; they can still be subverted and used like the messy, hobbyist learning machines of the early 1980s.