Letters to the Editor

Letters posted here are associated with the following article:
BASIC used to be on every computer a child touched -- but today there's no easy way for kids to get hooked on programming.
The letters thread is now closed.
  • High-level languages, a small error

    Hi, the whole reason Basic is so easy to learn is that it is an extremely high-level language. C and even C++ are much closer to assembly language, which is why they are a bit more difficult. I also grew up learning basic and am glad I did.

  • BASIC died for a reason.

    There are plenty of ways a youngster can get involved in programming computers, and it need not require them to learn an obsolete computer language that nobody sane uses anymore.

    "Web" languages such as Java, PHP, and especially Perl are very easy to learn, and can produce results quickly. I've taught 5th graders the basics of PHP in an afternoon. It has the advantage of being very top-down in design, English-like in syntax, and the most important of all: a useful skill in and of itself (how much do BASIC programmers make today? PHP programmers are in high demand at many "Web 2.0" houses!). Kids can create things that they can demonstrate to friends, and when they become teenagers they'll have the coolest MySpace in town.

    The reason why BASIC has disappeared from modern computers? It sucks. BASIC, with it's outdated flow control structure ("GOTO considered harmful"), lack of object-oriented programming, and arcane syntax make it a very poor choice to teach computers nowadays. Professors of CompSci classes from the high-school to the graduate level are all of the opinion that BASIC did more to damage my generation's ability to program than anything else because of much of the design damage in the language.

    Do your children a favor. Get them a good Perl interpreter for your platform of choice, and sit them down with O'Reilly's Programming Perl or one of the "Teach Yourself Web Programming in 24 hours" type books. They'll be creating things before you know it.

    Heck, an account on a social MMORPG like Second Life's Teen grid would be more appropriate: at least there, they'd be learning an object-oriented language that's C-like in structure.

    In the early 80's, there was a significant effort put in to creating "simple" programming languages for computer instruction. LOGO and PILOT are two glaring examples, Pascal is another one. Where are they today? Only the latter (Pascal) ever gets any serious discussion anymore. Want to know why?

    They are obsolete languages trying to solve a problem that doesn't exist on modern computers. Web languages are simple to write in, flexible and forgiving, and are the lingua franca of many high-paying jobs in the field. But most importantly, when it's time to move on, PHP and Perl have the C++ source code available.. and what better way to learn professional programming than to hack the very programming language you learned as a kid?

    Microsoft, Commodore Business Machines, and Atari never gave me that benefit...

  • Tcl

    There are coding programs out there that will do the same thing. I use one every day. Tcl/Tk allows your kid to do exactly what was done with BASIC only better. It is also interpreted, so the addictive type and get result is there also.

    http://www.tcl.tk

  • Basic Lives - unfortunately

    Clearly, the lack of Basic hasn't stopped India and now China from churning out hundreds of thousands of new programmers every year. And actually wasn't Basic itself crap? - which is the reason one is always taught Pascal as a first-programming language in the universities (so much fewer bad habit to unlearn). Plus Visual Basic is probably an ideal starting point for many people.

    Then again, writing a Basic compiler/interpreter oneself should not be an insurmountable task. In the C world, there is Lexx (Lexical Analyser) and Yacc (Yet Another Compiler-Compiler), which are a very nice pair of tools to enable you to write compilers for anything; and there is a Java equivalent JavaCC (Java Compiler-Compiler). So if you can't find a Basic interpreter - write your own.

    Plus one kind of suspects, that the author is falling victim to the trap of believing that everything was better in one's youth. Which at least in the field of computing, is demonstrably not true. One also suspects, that the author is unable or unwilling to give Visual Basic a try.

    However, I did start to get a bit nostalgic for those oh-so-much simpler days myself, and began to wonder whatever happened to Basic. Borland had a Turbo Basic, which was in fact pretty snazzy, but about this time they also came out with Turbo Pascal (now Delphi). So I personally lost interest in Turbo Basic, since Turbo Pascal was simply so much better. But what did happen to Turbo Basic?

    And guess what? A quick search in the Internet reveals:

    http://en.wikipedia.org/wiki/Turbo_BASIC_programming_language

    Turbo BASIC is a BASIC compiler and dialect originally created by Robert 'Bob' Zale and bought from him by Borland. When Borland decided to stop publishing it, Zale bought it back from them, renamed it to PowerBASIC and set up PowerBASIC Inc. to continue support and development of it. It is still sold today.

    http://www.powerbasic.com/

    So the author has spent 3 years searching for something which can be downloaded in seconds - albeit at the cost of 200 dollars. Plus no-one would recommend either Basic or C++ (too many problems with pointers) as good languages for an introduction to programming. And his solution (to buy an equally outdated computer to run Basic) can only be described as quixotic.

    One hopes that in general the articles at Salon are somewhat better informed.

  • There is an alternative

    One alternative that is used by many undergraduate and high school computer science curricula is the language Scheme. This is a modified version of Lisp, but with a focus on simplicity. This language allows students to easily program complex abstractions with a small set of primitives.

    There is a good application, free to download, which lets you simply type in Scheme statements and see the output -- Dr. Scheme (http://www.drscheme.org) -- and there's a good community for all levels of Scheme programming (http://www.schemers.org).

    I think Scheme is a good alternative to the problems the author addresses with the lack of BASIC availability. It is easy to learn, easy to program, and a very powerful tool for teaching more complex programming problems.

    While I think the problems in this article are all valid, it seems like the author has not really explored all the alternatives. I'm sure Scheme is not the only alternative out there, but to me it seems an obvious choice for trying out math problems and seeing how computers think.