I was born in 1980. My first computer was a VIC-20, and I later got a C-64. I also used Apple II's at school for a number of years. Back then, every computer from an Aquarius to an IBM PC had BASIC on it in some form or another, and owners of these machines were generally encouraged to explore the possibilities and learn how to program for themselves. Heck, the manuals even showed you exactly what you could do with what you had, going as far as to tell you how to use the expansion port in case you ever wanted to wire up your own hardware. Later on, I "graduated" to using MS-DOS, and I had to learn for myself things like IRQ's, batch files, and memory handling. Even in the DOS days, we still had BASIC at our disposal, if we wanted to use it. In a way, I think dealing with "difficult computers" like these really taught me a lot about how computers work, not just the hardware, but the software too.
However, kids these days don't have to deal with BASIC or MS-DOS. They've never had to use a command line, and they rarely have to worry about how their hardware is being used. Windows doesn't come with a BASIC interpreter, and neither do Macs. If you even want to try to learn how to program, your only real option is to buy an expensive compiler like Visual C++ or CodeWarrior. Loading up regedit to alter registry keys would be considered black magic to most people these days. But what effect do you think this will have on the kids that grow up using these computers? It's often accepted that kids will learn computers as they use them, but do you think that they'll learn them the same way us 20/30-somethings did, or will their knowledge be somehow lessened because they were never encouraged to learn how to program, or forced to do things the hard way? Do you think their experiences will be better than ours in other ways? After all, I sure didn't learn anything about TCP/IP networking while I was using the Apple II's at school!
I'd like to think that knowing BASIC programming is a valuable skill, even though I never actually use it anymore. Is this an obsolete notion?
--Zero