Read other letters about this article
I'm a hard core coder. I live and breathe the stuff. I support myself and my family writing open source Java software (I'm the creator of two succesful Java project: Apache Tapestry and Apache HiveMind). I'm almost 40 and have been coding since I was 12 ... first in BASIC and 6502 Assembly, then pretty much everything in between.
I would never teach someone programming using BASIC. It's a horrendous language. Ugly and clumsy. It would be like teaching someone architecture by giving them an erector set and a blow torch. Nothing good would come of it.
Two languages I have been using to teach new programmers:
Inform 7: http://www.inform-fiction.org/I7/Welcome.html
This is a natural language programming environment for creating Zork-style text adventures. Just beneath the surface is a full object oriented system, lovely state machines, and even aspect oriented programming. And yet, it is fast and very, very fun, and terrific built in documentation.
On a more serious note: Ruby http://www.ruby-lang.org/en/
This is an object oriented scripting language. You can use it with an editor, you can use it from the command line. You can use it inside a web browser. You can play with Ruby, or you can build serious systems with it. Or you can play and end up with a serious system. It's also fun, and has terrific documentation (on line and in print).
Both of these are free (Ruby is fully open source, Inform is free-as-in-beer). They are easy downloads, as easy as downloading any game demo (and much smaller). Parents may be daunted by having to download, kids don't think twice about it.
Don't lament BASIC. It is irrelevent in the new order. And it was never as much fun as either of these two languages.