Letters posted here are associated with the following article:

301
Letters
Thursday, September 14, 2006 12:00 AM

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.

View:
Thursday, September 14, 2006 02:11 PM

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.

Thursday, September 14, 2006 02:15 PM

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.

Thursday, September 14, 2006 02:36 PM

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.

Friday, September 15, 2006 03:02 AM

Professional implications

I found Brin's essay to echo a complaint I've had for several years now.

I am a professor at one of the University of California campuses. I teach a range of subjects in biology and anthropology. When it comes to educating PhD students, I teach applied mathematics, statistics, and numerical methods to biologists and anthropologists. We get extremely bright PhD students, and they are very computer literate, but...

...very few of them can write a program that will even compute the average of a series of numbers. It's extremely frustrating. Each of them has spent many many hours in front of computers on their way to our PhD program, but very very little of it was spent building sets of instructions. Older scientists are often less computer saavy, but know more about programming.

This means more recent PhDs often actually know *less* about programming than previous generations do! If these students could write simple programs for their own use, they could save themselves countless hours of coding and recoding data. They could validate their statistical methods.

Look, specialization is largely good for society, and having software engineers do most of the programming these days is a reflection of specialization. It's similar to how automobile repair has become an increasingly specialized trade. But scientists often need very specialized programs. Waiting for software engineers to make some pretty pre-packaged environment will often not work for us. We have to take out our own trash. We have to fix our own fuel injector. Heck, we have to build our own fuel injectors.

It's gotten to the point that I ask first-year PhD students if they can program (most, "No") and require them to pass an exam on simple programming (in a language of their choice) before they can advance to candidacy. We make it work that way. But most universities just let their PhD students struggle on their own and probably never learn much about programming. This varies by discipline, of course, but programming is no less useful in ecology than it is in astro physics.

In my experience, the younger the students, the worse their knowledge of programming, on average. And it's damaging to the practice of science. It's certainly not Microsoft's responsibility to help us, but I'd sure appreciate it if they put BASIC on every install and made it a default desktop icon.

Friday, September 15, 2006 05:11 AM

Nowadays, the competition for kids attention is too fierce

I teach programming, AP Computer Science. Like David I am so sad that the day when programming was the coolest thing you could do on a computer, is long gone. Like David, I wish accessible programming environments were more popular. But I disagree that a lack of accessible programming environments has caused it.

Squeak (squeakland.org) is just one example and is everything a programming teacher could ask for. It is a language which, even though it's over 30 years old prepares kids well for modern programming (unlike BASIC). It is proven to be more accessible to new learners and children than BASIC. It gives young programmers the ability to incorporate all kind of modern multimedia into their programming. In my fantasies, all elementary and middle school kids would be raised on it before they got to me in high school.

So why aren't? Because now the competition for kids' attention is fierce and there are lots of cool things to do on computers without having to figure out why this algorythm didn't get the data it needed.

I don't have a solution. I guess from now on people will learn to program only when they are paid to.

Most Active Letters Threads

445

The Washington establishment suffers a serious defeat

Approval of the Paul/Grayson bill to audit the Fed is both rare and important in several ways
415

The administration guts its own argument for 9/11 trials

If some detainees get military commissions or indefinite detention, how can 9/11 trials be justified?
294

Rule-of-law extremism engulfs primitive Eastern Europe

Why would the new President of Lithuania demand investigations of CIA black sites in her country?
226

A letter to readers

On my current condition: Definitely treatable, definitely uncertain
179

More GOP lies about healthcare reform

Republicans who know better falsely claim that the panel recommending fewer mammograms is a Dem plan for rationing

View all »

Letters Help

Currently in Salon