ADVERTISER
LINKS
 
activePDF
 
Alexsys
 
Altova
 
Amyuni Technologies
 
Automated QA
 
Axosoft
 
Business Objects
 
Codejock Software
 
ComponentOne
 
Coverity
 
Data Dynamics
 
Developer Express
 
dtSearch
 
Dundas
 
Dynamsoft
 
Hewlett-Packard
 
IBM
 
Imagix
 
Infragistics
 
InstallAware Software
 
InterSystems
 
iWay
 
Kovair
 
LEAD Technologies
 
McObject
 
Microsoft
 
MKS
 
No Magic
 
nsoftware
 
Parasoft
 
Pegasus Imaging Corp
 
Perforce
 
Prezza Technologies
 
Programmer's Paradise
 
Programming Research
 
Rally Software Dev
 
Red Gate Software
 
ScaleOut
 
Seapine
 
Serena
 
Software FX
 
Sparx Systems
 
Swell Software
 
Syncfusion
 
TechExcel
 
Telerik
 
UrbanCode
 
WANdisco
 
Xceed Software
 

 

 
 

 
 

 
 
 

 

 

 
AS OF 7/4/2008 8:26PM EST
Larry O’Brien: Erlang: What the Cool Kids Are Doing
By Larry O'Brien

October 15, 2007 — Geepster, n. A person who derives his or her identity by mastering complex, but lesser-known, technologies; a geek hipster.

Erlang, n. What all the geepsters are using now that they let anyone code in Ruby.

The psychology of the “early market” adopters is brutal. Enthusiasts and visionaries convincingly sing the praises of this programming language or that architectural model, articulating advantages and emphasizing the “game changing” nature of the technology. Thousands of blogs are launched, dozens of books are printed, a clutch of conferences convened: The technology is poised for total and utter dominance of the software development world! Then everyone moves on to the next thing.

I’ve long advocated the model explained in Geoffrey Moore’s “Crossing the Chasm,” with its ruinous chasm between “early” and “mass” markets, as the best for understanding the adoption of software development technologies. I don’t want to rehash that belief, but I feel sorry for those in the Ruby and Rails communities, who must be feeling a little jilted right now. To be clear, I believe that Ruby actually has “crossed the chasm” and will see wholesale adoption in the enterprise. Microsoft’s IronRuby project has tremendous potential when coupled with the Dynamic Language Runtime and Silverlight 1.1, while Sun’s JRuby project has not just shipped, but appears to be ticking off incremental milestones with ease.

Meanwhile, CodeGear, the company formed from Borland’s languages division, has shipped the first version of a dedicated IDE for Ruby called 3rdRail, and SapphireSteel, whose Ruby In Steel plug-in for Visual Studio has been my preferred IDE for Ruby development, has made a .NET-to-Ruby bridge available for free download. But the blogosphere’s encomiums to Ruby have definitely waned, and recent Technorati searches have been more likely to turn up sour “this would be easier in PHP” posts than the rapturous testimonies of the past few years. Such is the fate of technologies running the gantlet of the skeptical mass market.

In the meantime, the geepsters have moved on to Erlang. Erlang is not short for “Ericsson Language,” but rather is named after A. K. Erlang, an early telecomm theorist (who’s also, I am told, the namesake of a dimensionless unit of telecomm traffic volume). The fact that Erlang was developed and matured within Ericsson is a happy coincidence. Until recently, Erlang was viewed in the programming language community as a commercial (and therefore somewhat suspect) language suited primarily for telecomm and perhaps other embedded systems. The surge in interest has been driven primarily by the release of Joe Armstrong’s excellent tutorial book “Programming Erlang: Software for a Concurrent World” (Pragmatic Bookshelf) and the growing realization that we are, indeed, entering that “concurrent world.”

Erlang implements the “Actor” paradigm for concurrency, whose essential component is very fine-grained asynchronous messaging flowing between lots of processes (it’s worth noting quickly that Erlang’s processes do not have anything like a 1:1 mapping to OS processes). As I’ve mentioned in recent columns, this is one of several alternatives to the lock-based model embodied in .NET and other mainstream platforms. Although it’s far too preliminary to crown any of these alternatives as a complete solution, nothing but good can come from more people taking them out onto the roads for a spin.

While creating thousands of processes is the thrill that is causing the most excitement right now about Erlang, it also has a fascinating “hot swap” capability that allows you to replace modules dynamically without losing state or restarting the application. Obviously, this is part of Erlang’s telecomm legacy, but the thought of a system that never has to be taken out of service for upgrading is heady stuff.

Erlang’s syntax may be intimidating at first glance, and its lack of a modern IDE off-putting, but those are exactly the sorts of things that enthusiasts and visionaries can look past in favor of a technology’s unique virtues. Of course, in three years, you can expect me to start screaming that what Erlang needs is an editor with decent code completion.

Larry O’Brien is a technology consultant, analyst and writer. Read his blog at www.knowing.net.







 
 
 
 
 

SUBSCRIBE TODAY

E-Newsletters:
News on Mon/Thurs.
Test & QA Report
EclipseSource
   

   SUBMIT
 
 
 

     CUSTOMER SERVICE
 
   Download Current
   Issue Now!

   Need Back Issues?
    DOWNLOAD HERE

   Moving? Take
   SD Times With You!
 
 
 
EVENTS CALENDAR
 
Software Industry Conf.
7/17/2008 to 7/19/2008
Boston
Shareware Industry Awards Foundation

Dr Dobbs Architecture & Design World
7/21/2008 to 7/24/2008
Chicago
ThinkServices

Open Source Convention
7/21/2008 to 7/25/2008
Portland
O'Reilly Media

Entity Data Management
7/22/2008 to 7/23/2008
New York
FIMA

Black Hat USA
8/2/2008 to 8/7/2008
Las Vegas
TechWeb

REGISTER
 



 
SD TIMES 100

It's time once again to
recognize the organizations
or individuals that have
demonstrated leadership in
their markets.


 
GET NOTIFIED

On the latest white papers,
software downloads. Web
seminars and conferences.
 
 


                    


Copyright © 1999-2008 BZ Media LLC, all rights reserved. Privacy and Legal

Phone: +1 (631) 421-4158 • E-mail: info@bzmedia.com