Why Johnny can’t code

I saw a post on Salon.com which reiterates something I feel strongly about, and have been saying for quite some time.

BASIC used to be on every computer a child touched — but today there’s no easy way for kids to get hooked on programming.

Why Johnny can’t code

Yes, absolutely yes. If you bought any PC prior to the Mac and DOS era, it came with programming built in. It was most likely BASIC, or some similar language. You turn on an Apple 2, Commodore, or Atari computer, and you can immediately start typing in a program that will execute.

If you want to get even close to this on a modern computer, you need to either use a much bigger and more serious language, like Python, or you need some piece of software to help you. It’s not built into the computer. Even if you install Linux, the only thing you can do on the terminal is shell scripting. That shell scripting creates a barrier between the user and other programming languages.

Every operating system should ship with some sort of BASIC-like interpreter. It wouldn’t have any significant additional cost. Just one more icon in the start menu or applications folder. That one icon has the potential to open up an entire world of programming to a new generation.

Now, I was born beyond the BASIC days. I used some Apple computers at school, and learned some LOGO, but I was primarily in the DOS/Windows 3.1 era. How did I learn programming without having a prompt shoved in my face every day? Well, I put some effort in, going to science camp and selecting programming classes as an activity. But more than that, I had a TI Graphing Calculator, which comes with TI BASIC built in. I did a great deal of programming on that calcuator to ease my way through math classes.

And that brings me to my final point. Yes, I agree with this article. We need to expose simple, yet useful, programming interfaces on modern computers for educational purposes. However, the author of this article clearly doesn’t know about the large number of these that exist and can be easily acquired. There are TI Calculators, Microsoft Small BASIC, Arduino, Squeak, LOGO, and may more entry-level programming environments to learn on. If you have kids, or are looking to learn programming yourself, I highly suggest you try some of them out. We do not have a shortage of such things, we just need to get some of them pre-installed.