Read other letters about this article
Maybe some of the BASIC-bashing comes across as snootiness, but the venom just comes from having lived with it, and then having tried something better. I'm just trying to spare other people the pain is all.
Some people think that while BASIC might not be a good thing for a pro, it's still good to start with. I disagree--some commenters here ascribe good qualities to it, but those exist elsewhere just as much, or more:
1. "It's simple, and doesn't require compiling." First of all, BASIC as I learned it (GW-BASIC) wasn't really all that simple. PEEK, POKE, CALL, and GOTO are like chainsaws, except not as useful. In other words, BASIC has some sharp points lurking in it that really aren't helpful from a learning perspective.
When you're starting out, you don't have to use those, of course, but the same is true for other languages: when you're starting out, you use a small, simple subset of them. BASIC is "limited", but that's not the same thing as "simple"; a language like Python is simple and pretty easy to start with (you can do line-by-line programming in it just fine, you don't have to compile it, and I'd say the basics are easier than they are in BASIC). With Python, though, it's easier to move on to more interesting things.
2. "It was universally available." Today, the internet is about as available, and through the internet you can very easily get all kinds of good programming tools. Google is your friend; search for "python", click on the "download" link, click on the "Windows Installer" link, or on the "Python for Macintosh OS X" link if that's your thing. You do have to consciously choose to do it, but if that's the barrier for you, then you've got bigger problems than learning to program. DrScheme is about as easy to install. There was a time when getting this stuff was hard, but those days are gone for good.
You shouldn't need a "computer expert" to tell you where to download Python; once you've got the recommendation (one of the first ones to show up here, and I'm sure Dr. Brin has heard it a hundred times) it's extremely easy to do.
3. "Other languages are arcane." Here's some Python:
>>> print 1 + 1
2
>>> message="Hello world!"
>>> print message
Hello world!
Clearly, we're talking advanced computer-fu here. Scheme is slightly stranger to look at, but if you can get over the syntax it's very simple (if you've ever used RPN on a calculator you're halfway there). If you can't handle it, you're probably old ;-)
Seriously, though, I think a lot of people here underestimate how easily kids learn. This means two things: first, today's languages really aren't that hard for kids to pick up, and second, many people here with fond memories of BASIC acquired them when they were young. BASIC wasn't really that great, honest; you were just that good at learning.
4. "It was the only game in town for beginners" --or words to that effect. This meant that it could be added to math textbooks. This is true, as far as it goes. The explosion in software means that there are a lot more options now. Several of those would work well in a textbook context, if the textbooks were kept reasonably up-to-date.
One thing that's not going away any time soon, though, is the rate of change in software. That change is the real rub between a math textbook and a programming tool. And the speed of change in software is mostly a good and necessary thing. If you really want programming in your math curriculum, perhaps it could be included in a small supplemental paperback or on a web page. Putting it in a book that has to last for a while is not a good idea, though.