I can’t help but wonder if, what with Zed Shaw’s talk of switching to Python and Django, if Guido and Adrian view him the way Barack Obama is portrayed as viewing Jesse Jackson and Al Sharpton in The Obama Files…
Tim “Ongoing” Bray’s Take
Tim Bray posted a blog entry on what drives adoption of a language in which he included some tables such as the only below:
Procedural FORTRAN, COBOL, PL/1 C Object-Oriented C++ Java Higher-Level Perl, TCL Python, Ruby
This table of his should inspire a monkey knife fight on a number of blogs:
Web-Centric WebObjects, ColdFusion, ASP.Net, Struts, etc.,
etc., etc., PHP
The one about concurrent programming is a little more up in the air. Although there are other languages designed with concurrent programming in mind (either from the ground up or with concurrency retrofitted onto an existing language) and there have been for a while (I used Concurrent C in a course back at Crazy Go Nuts University in the early ’90s), Erlang is getting a lot of the attention these days since it has both a success story at Ericsson under its belt as well the clout of a Pragmatic Programmers book behind it. There is a feeling among some programmers (Bray included) that it isn’t going to be the language to turn concurrent programming from arcane art into mainstream practice:
Concurrent Erlang ?
Shelley “BurningBird” Powers’ Take
Shelley Powers disagreed with Tim’s assessments in her posts Flaws are in the Eye of the Beholder:
I find it fascinating when a person marks as ‘flawed’ the languages that have, literally, defined not only the web but application development of all forms. Perhaps the metric shouldn’t be on syntax, form, or function, but on usability.
Here’s her own table on languages:
'Perfect', but barely used 'Flawed', but simple, approachable, powerful, popular Higher-Level *Ruby (every time I see 'Ruby' I mentally add, Mama's precious little…)
*I’m giving Python a slide because Python has fairly widespread use today.
Those of you who recall Bjarne “C++” Stroustrup’s line “There are just two kinds of languages: the ones everybody complains about and the ones nobody uses” or the essay Worse is Better (or the essay that led to it or Jamie Zawinski’s commentary on it) should be feeling deja vu now.
As for Shelley’s table, I’d probably have put “PHP” where “Perl” is right now.
My Own Take
I think that right now, the “scripting languages” are stuck in something akin to “Three Stooges Syndrome”. That’s the disease where Mr. Burns from The Simpsons, being so old and frail, has so many diseases trying to get at him at the same time that they’re all “stuck in the door”. The doctors illustrated the syndrome with a model, shown below:
And since Tim and Shelley have their tables, I thought I’d make one too:
|Scripting Stooge||What’s Driving It|
|Perl||Legacy: it was the original “duct tape of the internet”.|
|PHP||Widespread adoption, drives a lot of apps, easy to program, easy to deploy.|
|Ruby||Ruby on Rails, which is a very nice framework from the web app developer’s point of view. That and maybe the fact that DHH is rather photogenic (although PHPer-turned-Pythoner Leah Culver could give him some competition).|
It’s been a long-time topic of discussion in the Python camp: Python 3.0, also known colloquially in the Python community as “Python 3000” or “Py3k”, and today it got a little more real. The first alpha release of Python 3000 is now available for download, just in time for those of you who want to test-pilot it over the Labor day weekend.
(If you’re waiting to get a final version before downloading, you’ve got a fair bit of time. The current best estimate for the release date of that version is August 2008.)
Unlike Perl 6, which is a radical reworking of the language, where every feature is subject to change, the idea behind Python 3000 was correct a specific set of design mistakes. These corrections are large enough that they will break programs written in existing versions of Python, but which provide gains that are enough to make the trade-offs worthwhile.
If you’re curious about Python 3000, here are some links you might want to check out:
- The announcement in Guido van Rossum’s blog
- What’s New in Python 3000. This is a work in progress, so many sections of this document aren’t filled in yet.
- Guido’s Python 3000 presentation rehearsal [video, 1 hour, 7 minutes]. This is a Google video of Guido giving his Python 3000 presentation for OSCON a test run in front of his co-workers at Google.
- Python 3000’s Wikipedia entry.
- Source tarball for Mac OS X and Linux users. I just finished the “configure/make/make install” dance and Python 3000 is now working on my G4 PowerBook running Tiger without a hitch.
- MSI installer for Windows users.