Friday, April 13, 2007

Declassified Letter

Dang, didn't make the final cut at OSCON this year. Maybe next year.

Anyway, here's one of the background missives I sent, in explanation of my original proposal, when queried (redacting addressees, redoing the hyperlinks (hey, it's my letter, I'll mangle it however I wish)). Sent Feb 11, 2007 10:18 AM.



OK, the backstory here is Guido van Rossum, inventor of Python, early on proposed CP4E or Computer Programming for Everybody, which even briefly attracted some DARPA (USA's DoD) funding. Now, depending who you talk to, CP4E is either "dead" and/or "very much alive" (I say the latter) but the gist of it is, many besides Guido are banking on Python's reputedly easy syntax to attract many more people to programming, especially by making it an expected part of everyday schooling, in conjunction with math learning and analytical skills building, and not just for CS (computer science) majors (you don't need to be declaring "a major" when that young -- like, the majors may have changed, by the time you get to college).

Ah, but Python was never in a vacuum, and such dreams for a computer science takeover or at least a bigger footprint in K-12 (pre-college) has long been a theme in geekdom, especially among language designers achieving some breakthrough in expressivity: "Why can't just anybody learn to think this way?" the young language designer asks. And in some dimension, sharing these languages is a realistic goal (of course!), as the spread of Python, Perl, PHP, Ruby, C/C++/C#, SQL, JavaScript etc. already well attests.

Alan Kay of Smalltalk fame, friend of Seymour Papert of Logo, champion of One Laptop per Child (OLPC) has become our new keynote speaker (EuroPython by transmission) and provider of new hope to many a would be Python learner. That's right, Alan has adopted Python as his new pet language, or so he told us at the Shuttleworth Summit in London last April, hosted by Mark (Shuttleworth) in hopes of taking what's right about the CP4E dream, and adapting it for his home country of South Africa where it became the Kusasa Project (kusasa.org).

I was present at this April round table, as Guido's sidekick, with about 11-14 others, plus representatives of the Scheme community and the South African government. I blogged about it live, during the meetings (my laptop, not running Ubuntu, had the loudest fan, embarrassing when Guido commented on that), but I'm still developing new insights in hindsight, about all that went on over those two or three days of intensive meetings. Plus I was invited to the London Knowledge Lab to give a presentation before that, enroute to my meeting at Friends House (as in Quakers) with Nancy Irving (FWCC).

Within the Python community, these threads are pursued in an open archive special interest group (SIG) called edu-sig. We've had a flood of Alan Kay fans and coworkers joining us lately. Whereas we of Python have learned much of Alan Kay culture (I hope of a deeply technical nature), so have the Squeakers and Smalltalkers been learning about what we bring to the table: namely CP4E and VPython, Saturday Academy, Kirby Urner and his geeky freaky Bucky Fuller hypertoons (see bfi.org), and of course Python itself, which continues to develop, in terms of teaching materials (CS departments are increasingly migrating at least some of their intro courses to this language -- a mixed blessing as some profs overindulge in showing "stupid snake trix" such as by suppressing its "everything is an object" model (i.e. they dumb it down too much, make it purely procedural (blech))).

My aim in this talk is to lay out something of this backstory in the context of the OSCON community, which is more about Python in the context of other open source languages. Ruby is very good with OpenGL as well, not just Python via VPython. What we're doing in CP4E is of benefit to open source communities more generally, because the "for everybody" idea doesn't specify any one particular language, just another spreading of a generic kind of fluency/literacy, as we more democratize around these very sharable skills (and keeping the source open is a big part of keeping this free and open culture alive).

We will continue to need a wealth of languages, including M (MUMPS) and J (jsoftware.com) i.e. a lot of "not [at least not yet] OSCON" languages too. There's an "all in this boat together" kind of feeling (spaceship earth), with lots of working code to maintain, as well as new stuff to write.