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).|