E-Scribe News : a programmer’s blog

About Me

PBX I'm Paul Bissex, and e-scribe.com is my consulting business. I build web applications using open source software, especially Django. I teach photographers web design and professional skills. In the '90s I did graphic design for newspapers and magazines. Then I wrote technology commentary and reviews for Wired, Salon.com, Chicago Tribune, and lots of little places you've never heard of. Feel free to email me.

Book

Python Web Development with Django I'm co-author of "Python Web Development with Django", an excellent guide to my favorite web framework. Its strong points include an introduction to Python, and better coverage of Django 1.0 than nearly anybody else. Published by Addison-Wesley, it is available from Amazon and your favorite technical bookstore as well.

Colophon

Built using Django, served by Apache and mod_wsgi. The database is SQLite. The operating system is FreeBSD, on a VPS hosted at Johncompanies.com. Comment-spam protection by Akismet. Vintage topo imagery from the Maptech archive. The markup engine is Markdown.

Pile o'Tags

Stuff I Use

Akismet, del.icio.us, Django, dpaste.com, Emacs, FreeBSD, Freenode, jQuery, LaunchBar, MacPorts, Markdown, Mercurial, OS X, Postfix, Python, SQLite, Subversion, TextMate, Trac, Ubuntu Linux, wmii

Spam Report

At least 67556 pieces of comment spam killed since January 2008, mostly via Akismet.

Johnny can too code

David Brin, in a piece at Salon.com entitled "Why Johnny Can't Code", complains:

almost none of the millions of personal computers in America offers a line-programming language simple enough for kids to pick up fast

Maybe Apple's marketshare is so small that they equal "almost none," but all OS X Macs come with Python and Ruby among other options. But wait, Brin seems to have heard of some of these newfangled scripting languages:

The "scripting" languages that serve as entry-level tools for today's aspiring programmers -- like Perl and Python -- don't make this experience accessible to students in the same way.

Really? In what way do they make it available? In what way do they fall short? Brin doesn't say.

I'd argue that Python (to speak about that with which I'm most familiar) is a better language than BASIC for learning coding, and not because it's more pure in a CS sense. It's clean, consistent, powerful, easy to read, nearly devoid of distracting cruft -- and it has an interpreter.

Brin's argument seems to be that because young people aren't learning BASIC anymore... cool stuff will stop happening and all young people will become mindless consuming automatons. I'd ask him to interview a dozen 22-year-old Web 2.0 hackers and innovators and find out how many of them cut their teeth on BASIC. Few to none, I'd wager (really, I'll wager, like, five Paypal dollars on it).

I grew up on BASIC and in some ways I'm still recovering!

Anything more I could say about this is better expressed by Rafe's condensed version, from a discussion today on the Well:

"I wanted to teach my kid to program without having to learn anything myself, and I couldn't."

Friday, September 15th, 2006
+ + +
6 comments

Comment from Mark , 1 day later

I think the difference is that the early machines - Spectrums, BBCs, C64s etc - came with a BASIC interpreter as their front end.

On the Spectrum, you could type

10 PRINT "My sister smells! "
20 GOTO 10

and `RUN` it immediately. None of the current scripting languages have quite that level of integration with the machine.

Besides, there are more distractions on a modern PC: the Spectrum would only do one thing at a time. If you didn't load a program off tape, writing BASIC is all that you could do.

In the mid-eighties, virtually all of my 13-year-old peers who owned a microcomputer also had at least a rudimentary grasp of BASIC and what programming was.

Comment from Rob , 2 days later

On the old computers, you were always at the terminal because you couldn't do anything else. I had pretty much the same experience with my old Commodore. I don't see that as a better time and place in computing.

Today, if you open up a terminal on Linux (or bothered to install Python and set it in the run path environment variables on Windows), you can simply type:

python -c "print 'My sister smells.'"

...and you get the same effect, except more succinct.

If you actually RUN the python interpreter, you get the same effect as the good 'ol days. Type commands at the prompt to your hearts content. I frankly don't understand what the Salon.com author is griping about. Today there are hundreds more languages you can freely download and experiment with. Back in the day, you had BASIC and were lucky if you could get your hands on a C or Pascal compiler without shelling out some bucks.

Comment from Noel OBoyle , 2 days later

It seems to me that one of David Brin`s main points is that it was easier to draw graphics using BASIC. This is certainly true, at least on the surface. There is no vector graphics library as standard with Python, whereas even QBasic allowed you to easily draw pictures. Part of the fun of programming was drawing Pascals triangle or the Mandelbrot fractal with only a few lines of code, or writing a Pong game as David suggests. The bar appears to be higher with popular scripting languages (although I am only familiar with Python).

Comment from Paul , 2 days later

That's one of the best defenses of Brin's rant that I've heard. Except for Logo, none of the alternatives that come to mind are very beginner-friendly when it comes to graphics, mostly due to the increasing complexity of GUIs I suppose.

Comment from Rob Hunter , 2 days later

Actually, drawing isn't too bad with stuff like pygame.

Even better for those new to programming, [RUR-PLE](http://rur-ple.sourceforge.net/) provides something a bit like a LOGO environment, but using Python.
(There's a screencast [video](http://showmedo.com/videos/video?name=rurple1_andreR) of RUR-PLE in action which probably sums it up pretty well)

Comment from Thomas Armagost , 3 days later

[Planet Gnome](http://planet.gnome.org/) is a blog for adults, but it paradoxically seems to be designed to hook precocious kids. Brin should visit Planet Gnome.

Post a comment

Thanks for reading! Please note: Your comment will not appear until approved, which may take a few hours or more. Spammers will be torpedoed.


(Will not be shared)

(Optional)