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:
Wednesday, September 13, 2006 07:39 PM

Programming Windows vs. Programming a Computer

Richard Gunderson wrote the letter I would have.

Thanks, Richard.

I'll add this: Most languages today are about *programming Windows* (or the Mac interface) rather than *programming a computer.* There are so many abstractions between you and the computer, so many "favors" done for you, that you never get in there and learn about the machine.

Getting interesting and useful things done in BASIC means going past the traditional, familiar commands and learning how to use peeks and pokes to interact with the hardware. It doesn't matter that the machine is obsolete or a toy. The process of learning is the goal.

I've been following Dr. Brin's quixotic battle for BASIC for a few years now. Every discussion on the topic I've seen, including this letters-thread, plays out the same way. Virtually every one in them manages to miss the point.

I applaud Ben Brin's solution to the problem. If he and Dr. Brin dig around in thrift stores they will find PILES of books on programming the C-64.

Stefan Jones

Wednesday, September 13, 2006 07:44 PM

Programming is Hard

Maybe it is the long day speaking, but programming is a highly advanced intellectual activity dealing with complex, poorly understood and unpredictable inputs and outputs. Depending on your child’s age, can they grasp the level abstraction we are talking about? It takes many us in this career a lifetime of actual working with these concepts to master this skill and it all gets thrown out the door once you add people to the equation.

Modern programming languages were created to abstract the union of dissimilar technologies and allow us to reduce the complexity to something the human mind can comprehend and, most importantly, influence so we can solve real problems. I commend you for trying to encourage your child to learn how to think in this paradigm, but an old-fashioned language like BASIC will not equip your child with relevant skills or knowledge used in modern software development – the most important skills are people skills, not how great a coder you are. It is far more important to know how to communicate your ideas, influence others, build trust, provide useful feedback and listen to your co-workers, peers and customers.

I would consider the software concepts inherent in BASIC, i.e. structured programming, to be nearly 20 to 30 years old and were made mostly obsolete with the object revolution of the early 1990's (which has not been completely accepted be all in our community). IMEO, asking for a tool that is outdated and inappropriate to teach a way of thinking which is not relevant is like asking your child to learn how to use a slide rule and sine-cosine charts to calculate the hypotenuse of a triangle when other children are using electronic calculators. Sure you can do it the old-fashioned way by hand, but do you really gain anything beyond an esoteric notion that this is really a pain in the posterior?

Wednesday, September 13, 2006 07:55 PM

pfft

I see many others reacted the same way I did when reading this article: Lord, what nonsense. I think this quote (from a letter) wins the prize, though:

"Teaching your kid basic first is like teaching them how to stumble so that they can learn how to dance."

Indeed.

What's more, there is no lack of BASIC interpreters in the world. Learn to google. Check freshmeat.net, and other repositories of free software.

But, really! BASIC? No one codes BASIC today because its one and only virtue was that it would fit in a few thousand bytes of read only memory. It is a horrible language that succeeded mostly in teaching very, very bad coding habbits to a generation of programmers. It was never a "standard". There were no two implementations that were the same. Any competent teenage programmer of that era used BASIC only until they learned assembly, or saved enough to buy a pascal compiler.

I can't imagine what Brin wants that isn't available in a modern scripting language. There are any number of great options. What's more, the amount of documentation and support available online is incredible. It is vastly easier to learn to code today than it was in the era of BASIC.

Wednesday, September 13, 2006 08:14 PM

What the author wanted was very very very specific apparently

Reading the first page, I thought "Chipmunk BASIC". I had a ripper a few years ago when I discovered it. Good stuff, back to the old interpreted days. There is a point to the instant feedback nature of interpreted programming, but there are many other environments to get that in. But that wasn't enough for Brin, he wanted the plain screen and the instant on I guess, with no trappings of GUI. I think that he wanted something aesthetic rather than something purposeful.

When I learned programming, I learned on computers, calculators, and by hand (really, going through your own code when you don't have a computer to check it is useful). I was also a language addict, and tried BASIC, pascal, Fortran, Lisp, Forth, etc. I see shades of each of these in current, higher level languages that I use. It is trivial to grab installs of any and all of these and learn, or grab a TI calculator to do simple programming on. Calling these "rationalizations" because we don't share Brin's aesthetic sense is insulting and trite.

Wednesday, September 13, 2006 08:26 PM

You aren't looking hard enough

I think we are from the same era, (Pleistocene). I grew up on BASIC, FORTRAN, and punch cards, earned a PhD in Computer Science, and have been happily working on software in one form or another since I was 10, in 1967.

So I have to ask: what are you smoking?

Sure, BASIC is gone, and good riddance. But a greatly improved version of that experience is available today. If you want instant gratification from a few lines of code, then Python is definitely the way to go. It's massive libraries allow for exploration in any number of directions.

If you want to go deeper, then the best modern equivalent of assember language is the Java Virtual Machine. The layout is highly accessible, and there are all sorts of fun projects that could be done -- compiling simple languages to JVM code, maybe doing an interpreter, byte-code transformations, either directly or through aspect-oriented programming interfaces.

And if you want to go deeper still, Java will soon be open-sourced by Sun, and there are other open-source implementations. And of course there are thousands and thousands of other open-source projects to explore and tinker with.

I think you've missed the real issue: In the 1970s, if you sat down at a computer, you pretty much had to write your own software. Now, it takes an act of will to clear your mind, ignore the internet, solitaire, email, IM, and do actual work. The distractions are especially damaging to tasks requiring great immersion and concentration, such as programming and especially learning programming.

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