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.
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.
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.
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
At least 67556 pieces of comment spam killed since January 2008, mostly via Akismet.
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."
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.
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).
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.
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)
[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.
Thanks for reading! Please note: Your comment will not appear until approved, which may take a few hours or more. Spammers will be torpedoed.
Branching and merging in real life
7 comments
Summer Spam
1 comment
SPF-enabled spam domains
1 comment
Chess via iPod
2 comments
Aesthetics and computation
2 comments
Brett Spurrier
Software for determining image similarity?
23 days ago
nizamfarooq
eBay, fraud, filtering, and Web 2.0
59 days ago
Derek
World's ugliest Django app
90 days ago
sagar
Sort tables with sorttable.js
109 days ago
Paintball Kolbudy
Summer Spam
116 days ago
Copyright 2010
by Paul Bissex
and E-Scribe New Media
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.