This letter is associated with the following article:
Letters
Thursday, September 14, 2006 12:00 AM

Why Johnny can't code

BASIC used to be on every computer a child touched -- but today there's no easy way for kids to get hooked on programming.

Read other letters about this article

  • Wednesday, September 13, 2006 10:50 PM

    Too hard to figure out?

    The great irony of this piece is that in the middle of a paen to the joy of figuring things out, we find out that the barrier that kept Misters Brin from using the better alternatives out there was this: they were too hard to figure out!

    Extremely limited, but helpful. All of the others, every last one of them, was either too high-level (missing the whole point!) or else far, far too onerous to figure out or use. Certainly not meant to be turn-key usable by any junior high school student. Appeals for help online proved utterly futile.

    Too hard to figure out, or else, too "high level". There's a fundamental tension here--low level things are more complicated. Hiding that complexity is the whole reason "high level" things exist. If you don't wan't "high level", you have to deal with the complexity.

    No one is telling today's kids that they should "simply be consumers of software"; there is, however, a big push to hide the complex details, largely because of old farts complaining that things are too hard to figure out.

    I learned programming using BASIC, and I write software for a living now. I've learned a variety of other languages, and if I had a child that wanted to learn to program, I'd keep them as far away from BASIC as I possibly could.

    There really are much, much better ways to learn now. Among technical people who actually care about programming (as opposed to those who just do it for a living) BASIC is widely considered a source of brain damage. Not because it's too low level, or because it's not "fancy" enough, but because it really is obsolete. It teaches bad habits that will make it that much harder for little Johnny to actually understand what the machine is doing and how best to make it do what you want.

    I'm sure Mr. Brin has heard lots of suggestions for what the alternatives might be, but since he's rejecting them for being too high level, too limited, or too hard to get going, I'll limit my suggestions to one: Scheme. If you were to take all of programming and reduce it down to the fundamental basic ideas, you'd end up with something pretty close to Scheme. This makes it a good place to start learning. Everything else can be comfortably built on top of that foundation.

    Some people criticize Scheme for being too "high level" in that it's pretty far from the bare metal of the machine, but I think it's easiest to start with the abstract and save the nitty-gritty details for later. Some people might criticize Scheme for being too "low level" in that it doesn't always provide all of the built-in functionality that other languages do, but Mr. Brin isn't looking for whiz-bang functionality, and in any case implementing some of those things yourself is a great way to learn.

    Part of the problem is that Mr. Brin has been asking "senior Microsoft officials" and "the masters of IT", who almost certainly have axes of their own to grind here. I suppose an article like this is the best way to ask for this kind of help; the answers you'll get are from the people who actually care about the your problem.

    As far as the "lingua franca" thing goes, software is just moving too fast at the moment. Keep the code out of the textbooks for a while until things settle down some (or, alternatively, make the textbooks electronic so that they're easier to change). Until then, you're just going to have to figure some things out for yourself.

Most Active Letters Threads

426

A key British official reminds us of the forgotten anthrax attack

A vast array of establishment and expert sources do not believe this episode was really resolved.
308

The crazy, irrational beliefs of Muslims

Tom Friedman explains the real problem: stupid Muslims think the U.S. is about war and aggression.
210

Is Obama's civil liberties record understandable?

Was it unreasonable to expect him to adhere to his commitments regarding the Constitution?
111

How dare you criticize wasteful defense spending!

So you think it's only terrorist-appeasing lefties who are down on Pentagon profligacy? Think again
59

Police to talk to Woods

Early morning crash raises questions, and revives tabloid speculation

View all »

Letters Help

Currently in Salon