Download PDF version of this article PDF

The Big Programming Languages Issue

Please tell me, Who won the presidency?

Edward Grossman, Editor, ACM Queue

As I write this month’s Editor’s Note, I sit upon the eve of the 2004 Presidential election, and by all counts it’s anybody’s game. Of course, by the time this reaches you the outcome (hopefully) will be clear. Now I’m not going to here, on the pages of ACM Queue, a magazine dedicated to practical technology issues for technologists, sound off about my political leanings.

Rather, I’d like to pass along an observation I noted of late that’s both relevant to the topic of this month’s special report, Programming Languages, and this political season. Just as there are political types (Democrats, Republicans, Naderites, etc.), there are similar clans when it comes to choosing a programming language.

Back when I used to do more coding (most of it non-macho scripting; alas, no “real” coding in C/C++), I found myself drawn to Perl, and next to PHP. Some buddies of mine were die-hard ASP devotees, not only coding their Web sites in ASP, but also writing the counterparts to my shell and Perl scripts in VB and VBScript to manipulate server-side files and services. I occasionally did a little ASP, and I just found myself lost.

Going from Perl to PHP was like learning French, and then adding Spanish—the grammatical structures were similar, if the words were often different. ASP was like speaking Hindi—verb position changed, and in some cases parallel constructs simply didn’t exist. I’m not saying one language was better than the other, but they were substantially different.

As you might have guessed, language affinity is often a good predictor of other technical allegiances. I would be willing to bet the number of VB/ASP/.NET folk who are also Linux users approaches zero. Similarly, it seems that where you stand on gun control, the environment, and the war in Iraq would be a fairly good predictor of whom you’ll vote for (past tense now, I suppose) and vice versa.

I know of no good way (thank goodness) to predict political affiliation from programming language affinity or technology camp—though an attempt could generate a chuckle or two (GNU = Green Party?). But I think reaching across party lines (to use the political vernacular) is what Queue is all about—Queue readers have to look across technologies when designing systems. One piece may have been assembled in technology A, another in technology Z—we can’t afford to be partisan.

So, when we looked at putting together our Programming Languages special report, we wanted to cover the bigger issues, the cross-language issues. You’ll find no “language X is great/terrible” in this issue; rather, we look out across the spectrum of programming languages.

How did we get to our current state? What has made the dominating languages today successful? Is there a reason some languages survive and rise to prominence while others don’t? John Mashey explores these questions and more in his “Languages, Levels, Libraries, and Longevity.”

What’s the difference between an object, component, and Web service? When should one be used over another? In “Fuzzy Boundaries: Objects, Components, and Web Services,” Roger Sessions takes a look. And of course, where are languages headed? What will the next big languages look like? I think you’ll find Greg Wilson has an interesting perspective in “Extensible Programming for the 21st Century.”

Coding poorly is, of course, an equal-opportunity malady, whatever your party affiliation, and Donn Seeley has an excellent analysis of the problem in “How Not to Write Fortran in Any Language.” And for this month’s interview, who else but Smalltalk creator and Turing Award winner Alan Kay. Fasten your seatbelt.

Lastly, I would like to point you to our 2005 Developer Tools Roadmap packaged with this issue. As you know, Queue typically stays away from product reviews—but of course that doesn’t mean you don’t use products! So as we approach 2005, we’ve put together a special supplement listing top development tools that will be available in the coming year. Need prices, URLs, feature lists? We got ’em. Think of it as your own extended developer tools ballot, minus the hanging chad. Enjoy!

EDWARD GROSSMAN ([email protected]) is only responsible for Queue, and he voted, so don’t blame him if your candidate didn’t win. I’m Edward Grossman and I approve this message.


Originally published in Queue vol. 2, no. 9
see this item in the ACM Digital Library


© ACM, Inc. All Rights Reserved.