David Brin laments the lack of simple built-in programming environments on personal comptuters [via Slashdot]. I too remember learning to program on my Apple IIe – if you turned on the computer without a programmed disk in the drive, you fell into BASIC, and I copied many listigs out of magaziines or books and played around with their functionality. Brin is entirely right – this type of built-in, no-fuss programming environment got a lot of us started.
Now, there are still command-line options. My programming students download Java off the Sun website and compile and run from the DOS prompt, and they could use Notepad to write their code, though I think a more supportive editor is desirable. But, Java isn’t accessible in the same was BASIC was. And installing and running it this way requires some wrangling with your PATH environment variable – particularly if you have Quicktime installed.
And Brin points out that even if you can fairly quickly get a Java environment (or C++, or…..) going on your computer, these alternatives do not match the advantages of BASIC. I’m not going to head down the path of arguing comparative programming languages, though I think there are other programming languages that can be interesting tools for early exposure (okay, I’ll just mention LISP and its functional ilk…..) but will agree that our modern robust languages don’t lend themselves to back-of-the-book, type-it-in experimentation.
The whole article is a really good read, but Brin’s bottom line point is that without this ease of experimentation, today’s children will grow up with the computer being a perevasive tool but no more understanding of how it really works than most of my generation has of the workings of our car (especially compared to the knowledge of our grandparents). Says Brin:
The parallel technology of the ’70s generation was IT. Not every boomer soldered an Altair from a kit, or mastered the arcana of DBASE. But enough of them did so that we got the Internet and Web. We got Moore’s Law and other marvels. We got a chance to ride another great technological wave.
I thtink Brin is a bit too dismissive of the value of “information consumption devices” when engineering and used properly. But given that there is no technological reason why such devices can’t also allow easy access to minimal programming environments, I think he is right to question whether we are advancing ourselves beyond a point that invites the energy and enthusiasm of novices and hobbyists.