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 05:32 AM

While I agree...

While I agree with the author's premise, the real point isn't just the ease of BASIC as an entry point, a "gateway" programming language, it's harnessing the simple, operational concepts of low-level development that's important. There is a belief out there that all comp sci students, or the non-academe as well, should study Assembly language. Are web developers writing byte code or operating systems? No. But learning efficient programming techniques and memory and resource management makes you an even more effective programmer.

I also have to ask: What about finding BASIC through LOGO (remember making the turtle move?) or using product's like LEGO's Mindstorm?

Thursday, September 14, 2006 05:42 AM

Rlogo

I agree with many things Mr Brin is saying.

My solution was to teach my kid rlogo using this site:

http://embry.epcs.com/rLogo/

Thursday, September 14, 2006 05:50 AM

Emulators

¿Didn't you think about C64 Emus for MAC / PC?

Thursday, September 14, 2006 05:53 AM

The future is bright, but we aren't there yet

Perhaps writing science fiction for too long has led Brin to expect that the future is predictable. The reason 'we' can't see a great wave of technological empowerment that will come out of the new technology is that it isn't here yet. Those sorts of things are only ever obvious in hindsight.

Personally, I'd be far happier for a child of mine to learn programming using an environment like StarLogo, which would teach make them familiar with the fundamental mathematics behind computing - turtles aside logo was actually a fairly powerful Lisp dialect. On the other hand there are more important things that computing, the abstract thinking that reading teaches, the discipline that learning music teaches, the team work that sports teach.

Finally, I'm rather suprised that Brin didn't realise that the easiest way to get a C64 would be to download one of the many open source C64 emulators.

Thursday, September 14, 2006 05:59 AM

Why Johnny can't build a crystal set radio

Is because we don't use those any more. Johnny can go to Target and buy a radio imported from China for a couple of dollars. It's not interesting.

Before this particular writer was coding in BASIC, his father might have been building a radio out of the pages of Popular Mechanics, and getting his HAM license. And his father before that was building an airplane out of the pieces of a chicken coop. And his father before that was... you get the idea.

Kids in any generation who have a bent toward building things and geekiness will use whatever is at hand to expand their understanding of it. They do this naturally. Give a kid a screwdriver, and you'll have whatever it is in pieces all over the floor. If you're lucky, Johnny just might figure out what the pieces are for and put it back together again.

Many posters have pointed out good reasons why BASIC is obsolete. Let him use the tools that are here today, relevant today (a lot of excellent suggestions for HTML and Javascript), and let him fly. Don't lament that the tools the previous generation learned on aren't available any more. He'll surprise you with the results.

Thursday, September 14, 2006 06:00 AM

Horowitz & Hill?

There's a great lab manual that goes with the classic introduction to Electronics by Horowitz and Hill.

Over a series of lab projects you build a small computer more or less from scratch. The "final" is to program your computer in machine language (motorola 6800) to do something useful.

You more or less learn exactly how a computer works.

After you finish, move to a higher level language like python. You'll appreciate it's sophistication but you'll understand how it all works underneath.

Thursday, September 14, 2006 06:03 AM

I agree with the author

The author's article brought back memories of my early tinkering with the various programming languages.

To tell the truth, I never liked BASIC. That is not important. What's important is exactly what the author

is talking about:Having his son learn the rudiments of programming while stepping through a language. The other key point

is not having to load a GUI and learn what all the menus are. Sit down and write code. Fun. Learn. Period.

I also used BASIC on my Commodore 64 to work out the mathematics before I committed the code to punch cards in my FORTRAN class.

As a programming language I can't stand it. As a pedagogical tool for young people it's excellent.

Truth be told I'm an embedded systems programmer who also writes apps in C#. I know colleges are now teaching Java and/or C#

as first programming courses and I feel that's a wrong way to go. Object-Oriented software is cool. However if you have no

context for why it's cool you'll never get it. When you have to struggle with organizing and packaging C code into larger

meaningful units you can appreciate the beauty of OO. You can also write clean and efficielnt code.

Some of the commentators decry BASIC's GOTO statement and how it leads to spaghetti code. Precisely the point. The admonition

to never use a GOTO in procedural languages makes no sense unitl you've used a GOTO and debugged your code. Context is everything.

(To the author: I still have my Motorola 6800 trainer that I bought and built from Heathkit and used to teach myself the rudiments

of programming. I've been looking for a good home for it for nearly 25 years. I have all the original manuals as well).

Thursday, September 14, 2006 06:04 AM

JavaScript BASIC interpreters

I agree with various letters that BASIC is a terrible language to learn programming from, and no one should be encouraged to do so. But trying out a 5-line math algorithm isn't really "programming," and command-line interpreted BASIC allows a student to get an initial exposure to algorithms with essentially no training. I'm sure some will say that this will poison the student's mind. Actually math algorithms in books are rarely "structured" like a modern computer language but are full of "if a < b, then go to step 7." Look at the classic in the field, Knuth's Art of Computer Programming, for example. BASIC often can let the student see clearly the relationship between the book's algorithm and the code, which might be obscured with a structured, object-oriented language.

There are simple BASIC interpreters written in JavaScript which you can run in your browser, for simple "Try this in BASIC" problems in textbooks. I don't endorse any specific one, but the first Google hit was http://www.eder.us/projects/jbasic/ and there are probably others. No downloads, no installation - just go to the site and start typing!

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