David Brin says all hope is lost without BASIC
"Why Johnny can't code"
Basically, civilization is collapsing around us because Brin's kid's stats textbook is old and the publishers displayed an atrocious lack of foresight by including "type in this program to see X in action" programs in a single programming language, BASIC.
He dismisses today's pantheon of scripting languages as apparently being too "high level" compared to BASIC and not supporting "line-by-line programming" whatever the hell that means.
AFAIK, Perl, Python, Ruby, et al. all are available for Windows and come with shells. Actually, writing a script to a text file and running it from the commandline shouldn't be too traumatic either.
September 15th, 2006 6:03am
I would take line-by-line programming to mean
10 PRINT "My name is Scott"
20 GOTO 10
And it's taken him three years to find a version of Basic so his son can get a "little experience" of it? How about Lemon64 or CCS for some old-school "line-by-line" programming?
September 15th, 2006 6:36am
"AFAIK, Perl, Python, Ruby, et al. all are available for Windows and come with shells."
Dude, the point is that those are not there by default. They are not a logical/natural part of the computing habitat anymore.
The point is that if there is a universal easy programming language available so part of the standard computing environment that you'd miss it if it wasn't there, people/kids would try programming much earlier and easier.
Programming skills then become a much more natural skill for ANY computer user.
Ofcourse we have been trying to remove the actual programming from end-users, and for good reasons. My mother has no need for programming. But with that autodidactic programmers, as I'm sure many of us are, are becoming a rare breed.
+1 LoB. (We've been having this argument elsewhere.)
his point about it not being there by default is a good one though.
I started like that, on the sinclair ql. you could jsut start writing code.
actually, the very first was on an I dont know what when I was about 10. I used to go down to the local bookshop and play with their demo models. I discovered the art of using ';' and ':' and so on to get different results from the print statements.
its a brilliant point.
OTOH, Ive just concluded a IM chat with my nephew, he is 11 years old and creating a game using PLATFORM STUDIO.... it is very cool by the sounds of it, Im going to download and check it out tomorrow.
I think brin saw the point and then went passed it when he said:
"So, what's the parallel hobby skill today? What tech-marvel has boys and girls enthralled, tinkering away, becoming expert in something dazzling and practical and new? Shooting ersatz aliens in "Halo"? Dressing up avatars in "The Sims"? Oh sure, there's creativity in creating cool movies and Web pages. But except for the very few who will make new media films, do you see a great wave of technological empowerment coming out of all this?"
My nephew is creating a game without writing a single line of code. maybe that will lead him into computer languages, and maybe it wont. but its a level of creativity that I simply wasn't able to achieve at his age, he can create a decent-looking and playable game in 2-3 hours using platform studio, it took me months and they sucked as far as the graphics went.
September 15th, 2006 7:10am
But, wSV, who's going to create the next version of the development tools he's using if everyone just starts using those tools instead of writing code? You're kind of reinforcing his point...
TBH it sounds like hopeless yesterday-was-better-ism to me.
The sheer range of stuff that any reasonably smart kid with a PC and internet connection can get hold of today is probably more, in information terms, than at any other time, any other place in the history of Earth.
Lucky for those of us that have it.
September 15th, 2006 7:18am
You're missing the point -- it's nothing to do with yesterday being better than today, and yes, the tools ARE out there, but when I was a kid I turned my computer on and it BEGGED me to program it, I didn't have to make a conscious effort to download and install tools, etc. etc.
"can get hold of" is key here. Agreed, there is plenty of stuff around, free too.
The problem is that you don't stumble on it by accident when you're 10 years old and wondering what else there is to that PC besides disney games. Today, you have to already know and want it.
"But, wSV, who's going to create the next version of the development tools he's using if everyone just starts using those tools instead of writing code? You're kind of reinforcing his point..."
kind of, but not really. _some_ kids do make it to full fledged programmerhood (poor bastards), and they will keep the development tools working.
you could ask who would build the cars when the 70s generation moved onto computers, but somehow that wasn't a problem.
the interesting thing was never really writing the tools, the interesting thing was always what you could do with them. my nephews generation is going to grow up with creativity tools far beyond what I had.
September 15th, 2006 7:27am
And his nephew's generation is going to grow up with the same tools he grew up with because no-one will know how to make new ones.
Doomed. DOOMED! :)
right. in the same way that cars stopped developing once people forgot how to build them and got interested in computers instead.
all that happens is the institutions take over the teaching.
September 15th, 2006 7:41am
But how many homebrew cars have there *ever* been? Homebrew software, though, is a different matter.
from scratch? very few. but altered or fixed from the original spec? my brother in law makes a living doing that.
<g> maybe thats another argument for open source.
September 15th, 2006 7:45am
The "It's not there by defaaaauuulllt!" stuff doesn't stand up to even a teensy bit of scrutiny.
In the end, he bought a Commodore 64 that starts up at a BASIC command prompt via Ebay, but he was ready to get some sort of crappy old Mac at one point and it seems as though earlier versions of Windows or MacOS had something that he thought suitable (did Win98 or Win95 have BASIC bundled in?) because he said that this has been a problem "for a few years". Unless his idea of a few years equates to a decade+ in the reality-based community's conception of time, there must have been programming environment that tickled his fancy.
Note that he specifically mentions Integer Basic on his old Apple II.
Methinks that if you know how to get into some version of bundled BASIC in a GUI OS like MacOS # whatever-ran-on-an-Apple-II, then it's not an insane stretch to download a setup.exe for Python or Perl or Ruby and then open either the shell bundled with the programming language installer or cmd.exe (in Start>Programs>Accessories).
The part where he dismisses scripting languages by saying that "nothing even remotely like them [the 'try it in BASIC' miniprograms] can be done with any language other than BASIC" should be worrying to anyone who cares about him.
My question is: did David Brin eat any beef in Britain during the 1980's? BSE takes years to manifest itself.
September 15th, 2006 7:56am
"But how many homebrew cars have there *ever* been? Homebrew software, though, is a different matter."
Not really a valid comparison, since making a car is pretty damn complex, and homebrew software is usually pretty simple, so a better comparison might be
"But how many homebrew cars have there *ever* been? Homebrew operatings systems, though, is, um, well..."
"But how many homebrew go-carts have there *ever* been? Homebrew software, though, is a different matter, oh, erm..."
September 15th, 2006 8:02am
The only real problem in the referenced textbook is that it used BASIC. Since even when BASIC was on every computer you got very different versions of the language, it was always a somewhat dicey proposition.
A better solution would be to put the examples in some popular language with a common implementation. C has the advantage of being standardized and universally available, although the notation scares the hell out of newcomers. An enterprising publisher could put one of the C interpreters on a CD in the book, or Dev-C++. Or even a collection of python environments. Heck, even Pascal isn't too scary for the little programs they're talking about.
One more thing that struck me while reading that article - why didn't Brin just open the manual for his son's graphing calculator (you just *know* he has one) and read the section on "programming your graphing calculator".
My TI-85 has a version of BASIC, TI-BASIC, and so does the current model, the TI-86. It also has ASM. They're ... built in by default. [Can you hear that? An angel just got his wings!]
Brin has a PhD in Astronomy and claims to have been on some 3-year quest to find a version of BASIC that will run the 12-line programs in his son's math book.
He can excrete a hysterical-sounding Salon article (The Postman meets 1970's programmer illiteracy) but he can't port a 12-line program, here and there, from unkown-version-of-BASIC-in-old-textbook to TI-BASIC?
C'MON. I'm calling BULLSHIT.
September 15th, 2006 9:21am
September 15th, 2006 9:36am
September 15th, 2006 10:09am
September 15th, 2006 12:11pm
Brin makes a very good analogy with how in his father's age, they were all about fixin' up their automobiles.
I do not know how to do an oil change.
Further, automobiles have become so complex that non-mechanics should only fiddle around with the most basic parts of a car. No longer will teenagers build a motorcycle from individual pieces after taking one apart (yes, my dad did this).
Ditto for programming.
Programs will continue to become more complex and there will be no shortage of people who program. What will disappear are kids who code at a lo level just for the fun of it. Knowing how to do low level coding at just above the OS level (like basic) will not likely to consume a nerdy generation like it did in the 70s and early 80s.
'Course, this doesn't mean that "all hope is lost". Not even close. Just 'cause fixing a car is something that only mechanics nowadays do doesn't mean there are no more mechanics around. What's changed is that no longer will kids code at "just above OS level" for fun, anymore.
September 15th, 2006 4:13pm
ugh... i need an edit button...
September 15th, 2006 4:13pm
I guess percentage wise, macs count as "almost none," but they come with PHP, Perl, Ruby, Python, BASH and AppleScript...
September 15th, 2006 6:06pm
> BASIC that will run the 12-line programs in his son's math book
I tend to think of these programs as logical statements rather than physical execution models. To epect them to run is to miss a rather large point about programming languages.
son of parnas
September 15th, 2006 7:14pm