American Scientist Online. The Magazine of Sigma Xi, the Scientific Research Society
<a target="_blank" href="http://adserver.lanepress.com/RealMedia/ads/click_lx.ads/www.americanscientist.org/AssetDetail/23227/Top/American_Scientist/SYSTAT_03_07/Systat_HB_0307.html/30613530303630313438323465323930?http://www.systat.com/"><IMG SRC="http://adserver.lanepress.com/RealMedia/ads/Creatives/American_Scientist/SYSTAT_03_07/ame_half.gif" WIDTH=234 HEIGHT=60 BORDER=0></a>
Home Current Issue Archives Bookshelf Online Features Marketplace Subscribe
In This Section
Visitor Login
Username
Password

 

COMPUTING SCIENCE

The Semicolon Wars

Every programmer knows there is one true programming language. A new one every week


If you want to be a thorough-going world traveler, you need to learn 6,912 ways to say "Where is the toilet, please?" That's the number of languages known to be spoken by the peoples of planet Earth, according to Ethnologue.com.

If you want to be the complete polyglot programmer, you also have quite a challenge ahead of you, learning all the ways to say:

printf("hello, world\n") ;

(This one is in C.) A catalog maintained by Bill Kinnersley of the University of Kansas lists about 2,500 programming languages. Another survey, compiled by Diarmuid Piggott, puts the total even higher, at more than 8,500. And keep in mind that whereas human languages have had millennia to evolve and diversify, all the computer languages have sprung up in just 50 years. Even by the more-conservative standards of the Kinnersley count, that means we've been inventing one language a week, on average, ever since Fortran.

click for full image and caption
A chronology of selected programming languages...

For ethnologists, linguistic diversity is a cultural resource to be nurtured and preserved, much like biodiversity. All human languages are valuable; the more the better. That attitude of detached reverence is harder to sustain when it comes to computer languages, which are products of design or engineering rather than evolution. The creators of a new programming language are not just adding variety for its own sake; they are trying to make something demonstrably better. But the very fact that the proliferation of languages goes on and on argues that we still haven't gotten it right. We still don't know the best notation—or even a good-enough notation—for expressing an algorithm or defining a data structure.

There are programmers of my acquaintance who will dispute that last statement. I expect to hear from them. They will argue—zealously, ardently, vehemently—that we have indeed found the right programming language, and for me to claim otherwise is willful ignorance. The one true language may not yet be perfect, they'll concede, but it's built on a sound foundation and solves the main problems, and now we should all work together to refine and improve it. The catch, of course, is that each of these friends will favor a different language. It's Lisp, says one. No, it's Python. It's Ruby. It's Java, C#, Lua, Haskell, Prolog, Curl.

Sadly, linguistic diversity has a dark side. Communities separated by differences of language don't always get along peaceably; the term "Balkanization" comes to mind. And, like weary, war-torn countries, the computing professions have had their share of sectarian strife and schism. As far as I know, the conflicts have never come to actual bloodshed, but harsh words have been exchanged (in many languages).

Continued
1 2 3 4 5 next >
  Of Possible Interest
Book Review: Art in Code
 
  Related Letters To The Editor  
<a target="_blank" href="http://adserver.lanepress.com/RealMedia/ads/click_lx.ads/www.americanscientist.org/AssetDetail/16267/Bottom/American_Scientist/SYSTAT_03_07/Systat_FB_0307.html/30613530303630313438323465323930?http://www.systat.com/"><IMG SRC="http://adserver.lanepress.com/RealMedia/ads/Creatives/American_Scientist/SYSTAT_03_07/ame_full.gif" WIDTH=468 HEIGHT=60 BORDER=0></a>
About American Scientist Site Map Text Archive Advertise Policies Sigma Xi Contact Us
© Sigma Xi, The Scientific Research Society