OS X: applications -> utilities -> terminal
start writing in (pick one: bash, csh, perl)..
There are indeed, thousands -- at least tens of thousands, possibly more like hundreds of thousands -- doing the EXACT THING that you're complaining about. Kids are ripping apart web pages, web applications, figuring out database algorithms and writing simple scripts to make their own bulletin boards, content management systems, band websites, cool little dohickeys on their myspace pages. Though the mechanism is different, the basics are the same. Flow control, variable manipulation, iteration, functions, boolean algebra... you can't even go all that far without running into basic graph and tree structures.
For people who are into the idea of going further, there have never been more projects available in more languages with more help. I had to save up for computer books, and it'd take me weeks to buy an introduction to programming book that only had a rough chance of being at my level or covering what I was interested in. The internet has completely flipped that idea on its head. Now, if you're interested in learning the basics of computer programming, or what makes a computer tick on a variety of levels, all you need is Google and some time.
It just seems ridiculous to me to bemoan the loss of one, rather limited way of programming, when the doors are open to hundreds of new ways of getting interested in programming.
David, Anon has it right. Get your kid hooked on Perl, you can run it in a command window, or at any level of fun and sophisticated web interface you like. You'll never look back, and all of the BASIC code is easily translateable, but then, wahoo!
Ten years ago I introduced my simulation Prof to it, because I have never had time for C and it's variants; he was astounded at the versatility and simplicity it offered (and I aced the course). Once your kid has some familiarity, combine it with html and php by the time he's in high school he'll be ready to tangle with whatever new thing his counterparts in Bangalore come up with (sorry)...
As another poster mentioned. If you have a mac you have a excellent set of tools for kids to learn with. Not quite Basic. But close enough.
sed
awk (a whole language in itself)
grep
bash
xargs
less
vi (!)
emacs (!)
etc.
Just show the kid how to do:
man awk
and let them go. They'll learn skills that they will have for life. They will eventually find gcc, perl, ruby and java and then they'll have something to move on to.
I remember way back in 86 trolling through old BSD Unix manuals as a freshman in college learning about all the wonderful unix commands. Sure I had a PC (DOS) on my desk and still had the old atari 800 back home with it's basic cartridge. But unix... there was some beauty, there was some structure.. Piping, redirects and shells... I'm still learning new stuff from /usr/bin
Huge amounts of examples throughout the whole system. Examples that actually make the computer work. Not just nice book code. But real, get the job done stuff.
If you don't have a mac just download any linux distro and install on an old machine. Any kid who has geek in his genes will dive into that with little prompting.
Not to pimp another author (I love Brin's books too):
http://www.cryptonomicon.com/beginning.html
Dr. Brin:
If you have not actually tried Python (and it sounds like you haven't) I strongly urge you to try it out. The Python console is the closest thing you'll get these days to the way the Apple II or the Commodore 64 worked. And as pointed out elsewhere, Python even comes pre-installed in Mac OS X. Take the half-hour it takes to work through the introductory tutorial. You won't regret it.
Aside from the many sources for BASIC that previous writers have mentioned, I'd like to know exactly what it is that Brin is looking for in BASIC that can't be done in, say, Python. Sure, the language has object oriented features, and a large standard library, but you don't have to use them. You can use 'print' and 'input' and do old style terminal programming just like the good ole days. In fact, I recently helped one of my students do exactly the sort of thing that Brin alludes to in this piece: The physics teacher had given this kid some old algorithm in basic, and I helped him re-write it in Python. The only thing that was really different was the BASIC notation for arrays vs the Python list notation. So what's the big deal?
Yeah, I started with Basic back in the day, too. But that's not what we should be teaching our kids today. Start with HTML. This language comes pre-installed on every Mac and every PC and every Linux box and every other kind of computer you can buy today. You are looking at it right now! Go to the menu bar and select View -> Source or View -> Page Source. That's HTML, the language of the web. There are lots of great HTML manuals out there, including "Learn to Program HTML in 21 Minutes." (I'd include a link, but the comment editor says that "a" tags are not allowed, proving my point that HTML is something everyone should know. I trust you can use Google to find the page.) After they've learned HTML, then teach them JavaScript. Guess what? It's also pre-installed on your computer! These are real languages that let people do great things. If you then want to move on to more powerful (and therefore more esoteric) languages, you can then move on to a modern line-oriented language like Python or Ruby. Both are free to download and available for any computer you are likely to have (and many that you are not). Both have lots of free manuals online. And both are much easier to learn and use than crappy old Basic. I've recently taught Ruby to dozens of non-programming adults: it is very intuitive. Years ago, I also taught kids Basic, but I wouldn't do that today. Instead teach them something more universal, more practical, and easier to learn: HTML, JavaScript and Python or Ruby. The hardest part about things today is simply that there are so many great languages to choose from. Back in the day, your IBM-PC or Apple II only understood one language: Basic; or, more accurate, a platform-specific dialect of Basic that wouldn't work on any other kind of computer. I'm glad those days are gone.
Much of the initial coverage about Fort Hood turned out to be wrong. Is there anything wrong with that?
The accountability imposed by another country for the CIA's kidnapping and torture reveals much about our own.
Fox News' morning show plays to type, talking about whether Muslims in the Army should face "special debriefings"
The Maine fight was supposed to be the dress rehearsal for repealing California's Prop. 8 -- but gay marriage lost
Once one obtains Seriousness credentials in the Washington media, they are irrevocable no matter one's conduct.
Salon headlines in your mailbox