Letters posted here are associated with the following article:
The letters thread is now closed.
This isn't about the vocational exercise of training young programmers. It's about inspiring the minds of children and unleashing their curiosity. It's bad enough that children helplessly rely upon calculators to perform simple math. Sometimes technological sophistication undercuts the goals of education; less sophisticated is better.
Regardless of whether BASIC is relevant today, I do understand the point the author is making.
I love computers and have since I learned to code colored dots flashing radomly on a Mac in BASIC, the "Kaleidoscope" program. My brother and I used to code little programs for fun on our TRS-80. Back then, if you had a computer, programming was part of the fun. Why was that? Was it that the games were so lame? Or that it was so easy to get into the BASIC program? Or because that's what the manual that came in the box showed you how to do? I don't remember my little TRS-80 doing anything but programming and playing games. So, I guess that is why. We had to, and we liked it!
I never had the right kind of mind to be a programmer. I cheated my way through PASCAL classes in college. I knew I was hopeless when I struggled for hours to make my 400 lines of code work by the midnight deadline, and the friend who "helped" me solve the problem calmly gave me ten simple, efficient lines of code at 11:50 p.m. Of course his program worked instantly.
Despite my limitations, I did end up working in the computer industry. I became a technical writer, a trainer, a graphic designer, an illustrator, and a web designer. I became what I describe on my resume as a "Computer Poweruser."
I understand how computers work. Because I "get" computers, I will always be able to troubleshoot the programs I am using. I can always find out how to test the limits of a program. So, I have learned a huge number of software programs, and I have no fear of learning new ones.
My stepson is now 19, and when he was in high school, he took classes in Photoshop. He used to visit in the summertime and play around on my software. It was obvious to me that he didn't really understand how a computer program worked. He had learned a few tricks, but he barely knew where his file was being saved. I felt like, wow, no one has taught you about binary. No one has taught you about how computers save information. No one has taught you programming logic.
It's a hard thing to teach. It didn't all sink in just in one fell swoop for me; it took me years of a little programming here, a little there, a math teacher explaining binary, a friend showing me the solution for a PASCAL problem, and toiling over a manual to set up a Microsoft Word Macro.
When I saw my stepson acting like he knew so much about the computer because he could make a razzle dazzle graphic with Photoshop, navigate the Internet, and throw up a little website using FrontPage, I felt at a loss. I consider his understanding of computers to be quite weak. He has a natural interest in computers, but how will he ever "get" them if never has to do any coding at all? My background with simple coding gave me the foundation to understand any software program that is thrown at me. I'd like for my daughter, and for my stepson, to have the same ability to work with computers that I have. I do wonder how kids today will develop a true understanding of how computers function if they are always end users and never programmers.
The problem, I think, lies in our attitude towards computers today. What is your answer to the question: "What are computers for?"
Are they for programming?
Upon learning that my child's elementary school class had a cart full of computers - one laptop for every child - I excitedly volunteered to teach a class on programming. It could be in any educational language their school preferred: Logo, BASIC, whatever.
Imagine my dismay when the staff explained to me that they did not have any programming language software that could be installed on their computers. These days, computers in the classroom are for "Multimedia Learning". They are used as mere videogames, only marginally better than a VCR.
The world has forgotten the magical activity of programming a computer. Programming is an open-ended, creative activity that can be incredibly rewarding for a kid. Learning a little programming can help crack the mystery of how the modern world works.
I eventually did get around to teaching some programming, on two different occasions. BASIC is not the missing ingredient. The six-year-old bunch took to both Logo and python very well.
(One story here http://davidbau.com/archives/2005/07/27/a_programming_question.html)
Perhaps the problem is that Johnny's teacher does not know how to program. With BASIC having gone out of fashion, training in programming is no longer standard fare for teachers.
Should the educational community choose a new standard-bearer for educational programming? Maybe Johnny's teacher should learn python. Once teachers have a bit of common knowledge, perhaps they will be able to share the magic with the kids.
I absolutely agree with Mr. Brin's stance. The trouble isn't that there aren't tons of programming languages to choose from, many of them free. The problem is that the computer doesn't come with an easy language. And if it did come out of the box (like DOS had QBasic), it really should be an icon on the desktop. Hiding it away would be a bad thing.
Also the programming culture worships complexity. What the professional programmer today considers easy sets a bar way too high for the child or casually interested adult. The result is that the fun is removed from the experience. No fun = no learning.
Schools today think that computer literacy is about using Photoshop, Microsoft Office and Frontpage. That's a low-minded place to be. Teach kids to program. Some of them will latch onto the experience.