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.
  • Oh the memories

    There is one advantage of your children not knowing programing. When they call you at work on the phone and ask you how to spell delete, you don't have to ask why?

  • great article!

    This is a great article! I am 36. I learned to program in BASIC on a Commadore PET and a Vic 20. I used a tape drive. My required college course in programming used PASCAL!

    The author is correct, nothing exists today that allows one to write a few quick lines of basic code. Kids are the worse for this loss.

  • First microprocessor

    was the F-14 Tomcat's CADC.

    http://www.microcomputerhistory.com/index.html

    Granted, this was classified for the longest time. It doesn't take away from Intel's accomplishment, but credit is due to Steve Geller and Ray Holt.

  • Cygwin

    I started programming in Commodore 64 Basic when I was in elementary school. But I think you are having a "Get off my lawn!" moment.

    Try Cygwin. You'll get a Unix shell environment that blows away Basic as a learning tool, is free, and installs as easily as any other Windows app.

    You can get as "close to the metal" or as abstract as you like. If you want to write your own algorithm to sort text in ASCII-ascending order, like I did in Basic back in '84, there is nothing to prevent you from doing that in a bash script. But isn't it much nicer just to type "sort" and save your mental expenditure for less tedious programming exercises?

    That's what I remember most about Basic. God, was it tedious. Beginning each line with a new number. Hoping you left enough of an interval between lines so you wouldn't have to renumber them later when you inserted additional code. Gosub 23000. What the hell did that mean? Scroll down to line 23000 and find out. Spaghetti code isn't a bug, it's the primary feature of the Basic programming language. A lot of tedium that just didn't add that much to my understanding of programming.

  • This is just not that hard

    I think our author is creating a problem where none exists.

    If you want kids to learn programming on their own, here are the three rules:

    It's got to be fun

    It's got to be free

    It's got to be easy

    Fortunately, there is a line-oriented programming language that already exists on every home computer on the planet, and it meets all three criteria. It's called Javascript. It runs in your browser. And it teaches everything you would learn from BASIC.

    What, indeed, do you learn from BASIC? Well, you learn about variables, subroutines/functions/methods, and about "if", "for", "while", and "print" commands, and about basic I/O. Javascript, like pretty much all programming languages, has all that.

    Plus it meets the first criteria: It lets you do fun stuff. You can make things happen on web pages, and post them for your friends to see.

    I learned to write code in the '70s in grade school, and my first program was a variation on the old StarTrek game. I spent hours obsessively adding new features to a program that you played on a clackety-clack teletype. No video back then; just paper and ink for output. I would not have done it unless it were just plain fun.

    So don't lament the loss of BASIC; it wouldn't work anyway, because it's just not fun anymore. And don't think for a moment that it is in any way superior to Javascript or a zillion other easily-obtained languages. The concepts are all the same. I'm not worried about the kids.

  • Easier than buying a real C64

    http://codeazur.com.br/stuff/fc64_final/

  • nostalgia

    I sent this article to my son, who taught himself to program in BASIC at the age of eight, and now is a programmer for Google. I always thought that those born in the early seventies were an accidentally privileged generation, for the reasons explained in this article. But my son has always disagreed, and still does. His answer arrived this morning:

    "BASIC! Oh David Brin, you weird old coot.

    HTML is the new BASIC. My Space is the new Apple II. Kids these days get it."

    I still disagree with my son on this matter. But he's the expert, so I guess I just have to accept his judgement.

  • Need a really cool Basic interpreter

    Of course, if you are using Windows XP, you already have the .NET Framework library, which provides the engine to run VB.NET, C#, etc. You can compile programs in these languages without using a fancy IDE, but I don't think that's the point because you still have to compile it which takes away from the "read-eval-print" immediateness of an interpreter. What would help Basic is if there was a really cool interpreter environment for the language, such as those that exist for Lisp, Scheme, other functional languages and some scripting languages. The fun part of the old ROM Basic was being able to type in part of a program and run that part to see how it worked. Now we call that iterative design, but it's harder to do with a compiler.

    I also think that Basic does present some advantages over newer languages such as Python because the line-oriented flavor of the language does seem closer to the hardware. I think that is also one of the advantages of learning C, or C++ (without the objects). You get the feel that you're programming as close to machine language as you can get while still using a high-level language. Once you move up to python, ruby, and the other functional and/or scripting languages, you're moving even higher up in abstraction from the hardware.

  • Programming for everyone

    I strongly sympathize. Some years ago Guido van Rossum (creator of Python) wrote an essay on essentially this topic, something like “Programming for Everyone”. Programming is important, for all the reasons you state. And an easy entree is extremely important, as you say.

    Let me mention a hopeful development. Last year at North Carolina State University all 1600 students in the giant intro physics course taken by engineering and science students wrote computational physics programs to model physical systems (e.g. spacecraft going from Earth to Moon) or to display electric and magnetic fields in space, all with navigable 3D graphics (as a side effect! of computation), even though half of them had never programmed before (and that half’s experience was pretty rudimentary). The major reason for having them do this is that computation is now co-equal with theory and experiment in physics and many other technical disciplines, and because only computation gives a sense of some of the most important and fundamental physics issues. For example, students can solve the unsolvable threebody problem simply by step-by-step numerical integration (the “Newtonian Synthesis”; starting from initial conditions, evaluate the forces, update the momentum, update the position, repeat). They get no sense of the Newtonian Synthesis by solving F=ma for a constant “a”. (For the larger context in which this work takes place, see www4.ncsu.edu/~rwchabay/mi -- a curriculum that acknowledges that the 20th century happened instead of concentrating on physics prior to 1850. I should mention that this curriculum, including the computational component, is also being deployed at Purdue and Georgia Tech this semester.)

    The tool the students use is VPython, consisting of Python plus a Visual module created initially by David Scherer in 2000. It is free, open-source, multiplatform: go to vpython.org. We carefully teach just a small subset of Python adequate for writing short simple programs. There’s a basic tutorial at vpython.org, but if you’re interested contact me for more info on the sequence of activities we have our students engage in. Python, and VPython, like Basic, lets people write tiny little few-line programs that do something useful and interesting, without the huge startup overhead in learning and setup required with most languages. A short program should be short. Python even offers a shell window where you can type one statement at a time, and see what each statement does. Having used Basic and similar languages, I don’t see much difference between Basic and the simple programs students write in Python or VPython. It is true that Python can do far more than was possible in Basic, but thankfully you can start extremely small and yet do something interesting.

    Matt Greenwolfe at Cary Academy in Cary NC has his high school students do all kinds of splendid projects using VPython.

    A footnote: Basic has a deservedly good reputation for easy programming, but an inappropriate bad rap for being clunky. The clunky Basic’s were the ones offered on early microcomputers. The real Basic was a major development earlier by Kemeny and Kurtz on their timesharing system at Dartmouth, where in the 70s all students learned and used Basic in courses. Kemeny and Kurtz must have been horrified when it was mangled in transferring to the micros.

    And also, not coincidentally, the programming culture at Dartmouth was destroyed when the college got Macintoshes in the 80s, a machine with which you could do almost everything EXCEPT program it. The GUI made it almost impossible for ordinary people to write programs at all, and certainly impossible to write programs that looked like professional programs, whereas one person’s Fortran or Basic program writing text to the line printer or teletype looked just as nice as anyone else’s. (Another thing that contributed to the demise of the Dartmouth programming culture was that the timesharing terminals were in public rooms that encouraged discussion; the Macs were in individual dorm rooms.)

Most Active Stories

Read More

Letters Help

Daily Delivery

Salon headlines in your mailbox