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 11:46 PM

Scheme is a fine recommendation!

Mitch, if you are puzzled why Brin is hunting down 1982 BASIC like he was coming to get his love, consider this first google of the Scheme language I pulled up:

***

Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. It was designed to have an exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including imperative, functional, and message passing styles, find convenient expression in Scheme.

Scheme was one of the first programming languages to incorporate first class procedures as in the lambda calculus, thereby proving the usefulness of static scope rules and block structure in a dynamically typed language. Scheme was the first major dialect of Lisp to distinguish procedures from lambda expressions and symbols, to use a single lexical environment for all variables, and to evaluate the operator position of a procedure call in the same way as an operand position. By relying entirely on procedure calls to express iteration, Scheme emphasized the fact that tail-recursive procedure calls are essentially goto's that pass arguments. Scheme was the first widely used programming language to embrace first class escape procedures, from which all previously known sequential control structures can be synthesized. More recently, building upon the design of generic arithmetic in Common Lisp, Scheme introduced the concept of exact and inexact numbers. Scheme is also the first programming language to support hygienic macros, which permit the syntax of a block-structured language to be extended reliably.

***

This is what is written on the doorstep of Scheme, at MIT.

The writing above is unintelligible, Mitch. Leaving shit like this on the doorstep is tantamount to driving away acolytles with two by fours with nails in the ends. No wonder Brin is buying Commodores for his kid.

Wednesday, September 13, 2006 11:59 PM

BASIC *is* part of Windows -- it's called VBScript!

I can't say I agree that modern systems don't come with BASIC. Windows machines (the vast majority of machines for home users) since Windows 2000 have all come with the modern version of BASIC, VBScript. If you don't believe me, just create a vbscript file and run it:

1. Launch cmd.exe from the start menu (start / run)

2. execute notepad.exe from the cmd

3. In notepad, type the following BASIC code:

for i=0 to 10

wscript.echo i

next

4. Save the file through save as, name it something like forloop.vbs

5. In the cmd, type

cscript forloop.vbs

Result: the BASIC code (actually vbscript, but very similar) will print out the same results a 1980's BASIC programmer would expect -- all the integers from 0 to 10 inclusive will be displayed.

I agree that the friendly environment of qbasic that used to exist in win9x / nt4 is gone, but the halcyon days of TRS-80's recalled by the article did not include such a supportive environment either.

Otherwise, the status quo is much better than before. Consider:

1. Vbscript supports not just the command line, but can be used from within a web browser to do much more interesting things such as accessing more complex controls / graphics / web sites.

2. Vbscript supports object-oriented features -- good for teaching people more productive ways to create useful software.

3. The docs for vbscript far surpass what was available for old BASICs -- that's because the entire Internet is at your disposal, starting with www.msdn.microsoft.com and continuing on to countless reference / informational sites. Vbscript is used in web pages as well, so someone can get sample code from working live web sites.

4. Once you learn vbscript, you can learn jscript, a somewhat better language that is a good stepping stone to "real" languages like C++, C#, Java.

Is there a reason the article omits this? Does the article assume some substantial difference between the old BASICs and the much more powerful VBScript and its related languages?

In my opinion the presence of vbscript and other scripting languages in the default installation of the most popular operating system invalidates the premise of the article, but maybe I'm missing something. :)

And btw, I didn't mention the fact that the powerful standard Unix shell is installed on all versions of Mac OS X for the remainder of folks who use a Mac at home.

Thursday, September 14, 2006 12:14 AM

Proving his point

One thing I can't help but notice in reading all these letters is that the people who object the most to Mr. Brin's article are invariably programing experts, and that although they speak of Basic with contempt they all learned it extensively before anything else. One thing many of them may not fully appreciate when giving advice on perl, Python, and HTMl is how utterly arcane these things are to a layman. Basic represents the absolute ground level in terms of ease of access (it was right there when you turned on the C64, for God's sake!) and universal familiarity. You didn't need to worry about compiling it, and you didn;t need a computer expert to tell you where to download it from (at least until said experts read his article. My thanks for pointing out the availability of QBasic, by the way).

One other thing people may wish to consider is that, at least until the early 90's, basic was universal. I can imagine math books with Basic programming code. It is harder to imagine math books with python, perl, html, C, or (God help me) C++, because those languages are so much more arcane.

In other words, the hurdle can be cleared, but the bar has been raised too high for the beginners who have no easy source of advice. This is a significant point, and Mr. Brin ws right to raise it.

Thursday, September 14, 2006 12:22 AM

Scheme

Yes, there is some academic writing on Scheme that would be tough for a newcomer. I forgot to include a link in my first comment:

http://www.drscheme.org/

I'm sure there are some introductions to scheme that are easier to digest than that jargon-laced description.

For those who still find Scheme too pointy-headed I recommend giving it a go anyway; I don't use it much anymore but I still think about it fairly often. It really does do a good job of presenting the basics in a way that's uncluttered.

If learning to be a programmer isn't your long term goal, then the suggestions that other people made for Ruby or Python are good ones. If you're really interested in the low-level details, C is tough to beat, though that's not how I would choose to start out.

BASIC really is pretty awful, though. It's where I came from but I'd never go back there.

These days there is some great stuff freely available out there. Part of the reason reading this article was so jarring for me is that we're pretty much in a golden age software-wise; if anything the problem is that there's too much stuff. The solution to that problem is to pick one of the very good current alternatives, though, not to try and bring back the days when one crappy option was the obvious choice.

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