Letters posted here are associated with the following article:
The letters thread is now closed.
I gave Gregory my old red cover BASIC book. But he has no way to use present day computers to figure it out. It is a real problem. We need a way to let the kids learn by letting them look behind the curtain at OZ.
TOM
Hello folks! Author David Brin here (http://www.davidbrin.com)
I'd like to thank those who wrote about my little rant-essay “Why Johnny Can’t Program.” It stirred up a lot of discussion and fuss! The intent, of course.
Alas, from the letters to my site, my blog or SALON, it seems very few actually read the article, instead of skimming and leaping to the conclusion that "David Brin (the old fart) loves BASIC!"
In fact, I rather dislike the ugly old thing! I bent over backwards not to write a paean in praise of a stodgy old buggy line-coding dinosaur.
Those few who did not skim, leap to a false conclusion and howl, realize my complaint is not about BASIC, but something else entirely - the lack of a pervasively accessible, entry-level "lingua franca" language, included in all computers, that would let (for example) textbook publishers assign those little exercises in math and science textbooks.
Tiny, compulsory and easy exercises that expose(d) millions (millions!) of students to concepts like ITERATION, approximation, algorithmic convergence, or the beauty of an artillery shell in its arc. Type it in twelve lines! And follow along on paper.
Exercises that allow (encourage, require) kids – by millions - to do some primitive experiments before moving on to something better.
Please. I know your favorite program can do those things. But is it so universal that assigning it in Jr. High would not bias against kids who own a different model of computer, or who are not adept at searching the web for downloadable emulators or arcane apps or self-teaching manuals? Or any of the SCORES of other suggestions that many of you sent in…
… never pondering that MOST of the rest of us are klutzes! Something obscure or needing downloads… can you really convince yourself that we’ll get a majority of kids to experience that? Having something simple and universal and turn-key can make all the difference.
Something to let millions (not a few elite thousands) see that the screen in front of them is composed of dots, and each of those dots is moved and changed by genies called algorithms. And, once-upon-a-time, those algorithmic-genies were under direct human control. Indeed, if you really WANTED to, you could learn to control them yourself.
Hey, preach till the cows come home about which language kids “ought” to start off learning. By all means innovate and push your favorites! Let the really motivated ones take classes in Python, Java, Perl... or even SELF-teach, the way my son is learning C++. Terrific.
(In fact, he says that his brief interlude with a C64 and Basic made it VASTLY easier to understand the modern languages, knowing where it all came from.)
Yes, yes. I believe you are all sincere in your passionate (tower of babel?) insistence on THIS language… no on THAT one! And yet, I am sorry to point out that underlying all of this is a level of towering and outrageous arrogance. An implicit assumption that programming is only for the self-motivated alphas out there. And all the rest of the kids can go to hell.
Go experiment. Find an HONORS 9th grade math class and challenge the kids to go find a programming language and learn to move a pixel for themselves. Offer five crisp $10 bills as a reward. Come back later and see how many have actually done it. All of your strongly held opinions are nothing against the fact that fewer kids are actively programming today per capita than ten years ago!
(Oh and please don’t call designing a web page or a MySpace site or a buxom avatar “programming.”)
Let there be no mistake. One institution is to blame for this situation. And the same one could fix it, overnight. If Microsoft included a simple (updated) version of some useful language …Basic... or Python or whatever... a turn-key kit along with tutorial... in every Windows machine, that language would overnight become the new locus of kid-experimentation. Once again, millions would share the amazement, moving dots and going “wow” over the way math can control a pixel. And soon, textbooks publishers would have little exercises in that language, forcing millions of students to at least try it out, once or twice.
It would cost Microsoft next to nothing, use almost no disk space, and do a world of good. (My druthers? Include samplers for DOZENS of other programming languages, as well!)
One of you cynically wrote “...it's in Microsoft's interest to keep people from trying to understand computers, and to perpetuate the meme that computers are not to be understood.” But I don’t see a conspiracy. After answering several hundred letters, I now realize that 99% of very smart, computer-savvy guys are actually and sincerely unable to “get” what this is all about!
Perhaps the phrase “lingua franca” is too arcane and foreign. In any event, the guys at Microsoft are probably much the same. Their answer to the textbook problem is:
“There are still computer code snippets in textbooks? Don’t worry. They’ll go away soon.”
(A comparison: try complaining about recent electoral cheating. Soon we’ll hear: “There are still elections...?”)
Yes! Your favorite introductory language is probably marvelous and delightful and troglodyte author David Brin doesn’t appreciate its beauty... and thousands of bright young people are using it to great effect today! (Hey, David Brin’s son is one of them!)
But until you can swap the word “thousands” with “tens of millions”, consider my case proved. I just have to say (with genuine respect for you smart guys!) that you just...don’t... get it.
Hello David,
Your essay was great and hit home on many points.
I must admit you are correct about Basic and QBasic. As a kid I got hooked on programming by playing and writing games on an old DEC PDP-8 terminal during high school. It became an obsession for me. Eventually a congregation of kids formed eveyday after school to hang out. All of us eager for time on the terminals to play games and write code. I am a programmer today because of that experience. And quite frankly I just don't see that kind of experience easily avaialble today.
However I did want to say that I did find a website that offers a watered version of Microsofts QBasic. It's pure interpretive and it can't compile, but who cares? It seems to be a great learning tool and its fun to play with.
Check it out at:
http://www.petesqbsite.com/sections/introduction/intro.shtml
To people in the education field and fellow programmers if you feel deeply about this why not send a copy of this article to people you know in the industry?
Regards,
Ted C.