David Brin complains about the difficulty of obtaining BASIC for modern computers, in a piece published yesterday on Salon. He’s been trying to teach his son to code, starting with simple algorithms and developing a good sense of what the computer is doing as it processes each step. Java and C++ are considered too complex for this purpose, and he seems to consider most scripting languages to be too high-level:
The “scripting” languages that serve as entry-level tools for today’s aspiring programmers — like Perl and Python — don’t make this experience accessible to students in the same way. BASIC was close enough to the algorithm that you could actually follow the reasoning of the machine as it made choices and followed logical pathways. Repeating this point for emphasis: You could even do it all yourself, following along on paper, for a few iterations, verifying that the dot on the screen was moving by the sheer power of mathematics, alone. Wow!
I’m not convinced. Sure, some versions of BASIC let you get pretty low-level with PEEK and POKE, but there’s a perl library that will give you that level of access. And while Perl, Python and Ruby will provide a lot of high-level features, most of the time you don’t have to use them. You can go back to the core of most algorithms and, yes, follow the reasoning.
Meanwhile, you get an easy transition to more refined programming techniques. As a BASIC programmer who wanted to switch to OO techniques, you had to learn a whole new syntax. Learning new languages is a good thing, but it’s nice to be able to encounter new paradigms in a familiar environment.
Of course, for those who insist on BASIC, you can always follow Brin’s lead and buy a Commodore 64 on eBay, or there’s BBC Basic for Windows.