Letters to the Editor

Letters posted here are associated with the following article:
Why Johnny can't code 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.
  • Why not Javascript

    It seems to me I read an article about a year ago on the topic of using Javascript as a basic pedagogical tool. Much better than basic. Structured. Go a bit further, and object-oriented. You don't have to start out with objects.

    The environment is the browser. You can write programs in an editor. Use Vi if you want (it's downloadable). Then, call it up using file://blah-blah.jsp or whatever the extension is.

    So, simple line programming is NOT lost.

    And Please, PLEASE, don't screw up the kid's brain with Basic. Nostalgia is no way to choose your tools.

    j

  • There are much better alternatives to BASIC

    BASIC was a terrible programming language to start out with, very painful to use. People who learned to program with it as their first experience paid the price for quite some time by having to unlearn bad habits. This is the main reason that its no longer around. The author of the article has a peculiar and maybe even arrogant sense of nostalgia to complain about its absence in the present day toolset for beginning computer programmers. I won't go through the long list of obvious and freely available alternatives for doing the job of BASIC on a home computer, but I expect any of the simple 10-line programs his son would want to type in would run almost verbatim in Python. And then the boy would know something useful.

  • I can't agree

    While I did first learn Basic (in around 1977 on a DEC-20 followed by an Apple ][ I bought myself), I find that I can't really agree with David's article. When my daughter's old enough to start playing around, I won't head for Basic. I'd probably first start with Perl -- which, yes, comes with a Mac. Perl is just as easy to begin with as Basic, if you start off with simple algorithms, iterations, etc. But it's even better because it adds functions while doing away with bad habits like GOTO statements, and a student can go much farther with it before branching out into Java/C++/etc. But regardless of which language you might choose, there are so many possibilities that I can't agree that there's a major problem here. Python, perl, Ruby, Java (which can be approached in a simple way as well)...and many more.

    What I can agree on is that it would be useful to have some sort of a standard, in the sense that Basic was a standard. Almost every student in the 80s probably began with Basic (Pascal was what my university used for their early comp sci classes), and there is some value in standardizing. But in its absence, there are certainly many options for now.

  • Dijkstra and fun language facts

    "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." -- Dijkstra (famous computer scientist who invented some important algorithms. He also wrote an article called "GoTo considered harmful".)

    I taught myself to program in BASIC as a child in the 80s, but I'm not particularly proud of that fact. It took me a long time to unlearn use of goto and gosub when I taught myself Pascal. Eventually I caught on, and found that I could code faster and read my code more easily. Dijkstra was right.

    Note that most high-level languages, including Pascal, C, C++, and Perl, have vestigial labels and goto. Which means that you can emulate BASIC's line numbering if you want to. But please, don't.

    Note also that BASIC is not a particularly low-level language. It's typically interpreted, which actually takes it farther from the machine than, say, C or C++. But BASIC is a crippled high-level language, because of the GOTO thing. Meanwhile, with some compilers, including the free GNU gcc compiler suite, you can actually get the compiler to produce the assembler equivalent of your high-level code, so you can actually see exactly what the machine is up to. That's a lot closer to the machine than BASIC. If you do want a high-level language, Perl is great; it's at least as expressive as BASIC.

    -- Morty Abzug

  • VICE, etc. (emulators)

    Having learnt on a Commodore, I have to agree that the immediacy of the basic language and the friendly 'ready.' prompt is a great way to start with computers. Although I didn't spend a lot of time on BASIC - I spent much more time in assembly language, which was much more fun anyway. But it was accessible, and definitely helped kick it off. Now i've got a computer many orders of magnitude faster and more complex yet it takes 100x longer to 'boot', and even that's to something no-where near as friendly as a nice 'i'm ready for you' message - its more likely to be demanding something of me that I couldn't care less about.

    No need to buy a real machine either - try searching the net for 'VICE', or similar programs - complete and excellent Commodore emulators that even manage to run about real-time on most modern computers. And you get to avoid all the pain of an overheating disk drive and corrupt files, or fuzzy tv text.

  • Isn't Python the new BASIC?

    I know that the article mentioned that Python didn't fit the bill as a BASIC replacement for the author, but I am at a loss as to why.

    Python's syntax is very simple, and while it is not a strict superset of BASIC by any stretch, I think that they are close enough to serve the needs of beginning programmers, and it also provides plenty of headroom to grow as a programmer, should they take a shine to it.

    I don't want this letter to digress into an over-the-top Python advocacy piece, so I'll leave the benefits of Python as a language in the capable hands of python.org.

    --Mike

  • Maybe it was a terrible language but...

    BASIC is the language that hooked me. I was the little girl in Fairbanks AK who ran around programming display computers to tell the world how great I was or to flash pretty colors in between naughty words. I was, perhaps, the only computer tagger in Fairbanks to ever exit.

    Yes, it taught me bad habits. Yes, it isn't the most elegant thing to have ever been invented. But I am fond of it all the same. It did teach me how computers, well, compute. It introduced me to a world and a profession that I am still in.

    Nostalgia isn't necessarily a bad thing. Thanks to the wonders of GameTap I am now able to show my children the games that started me on the path to being the world's oldest living female gamer. BASIC is much the same...they won't learn the habits I had to unlearn because the children (I have more than a few) that are interested in such things have already learned better habits and languages. But what fun to show them where I started.

Most Active Stories

Read More

Letters Help

Daily Delivery

Salon headlines in your mailbox