Please wait while the page is being loaded Skip this advertisement >
Computerworld
The A-Z of Programming Languages: Erlang
Our series on the most popular programming languages continues as we chat to Erlang creator Joe Armstrong
Kathryn Edwards  16 June, 2009 15:03

Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Larry Wall, creator of the Perl programming language, Don Syme, senior researcher at Microsoft Research Cambridge, who developed F#, Simon Peyton-Jones on the development of Haskell, Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experiences maintaining Bash, Bjarne Stroustrup of C++ fame, and Charles H. Moore about the design and development of Forth.

We’ve also had a chat with the irreverent Don Woods about the development and uses of INTERCAL, as well as Stephen C. Johnson on YACC, Steve Bourne on Bourne shell, Falcon creator Giancarlo Niccolai, Luca Cardelli on Modula-3, Walter Bright on D, Brendan Eich on JavaScript, Anders Hejlsberg on C#, Guido van Rossum on Python and Prof. Roberto Ierusalimschy on Lua. We most recently spoke to Tcl creator John Ousterhout.

In this interview Erlang creator Joe Armstrong, took some time to tell Computerworld about Erlang's development over the past 20 years, and what's in store for the language in the future.

If you wish to submit any suggestions for programming languages or language authors you would like to see covered, please email kathryn@computerworld.com.au


What's behind the name Erlang?

Either it's short for "Ericsson Language" or it's named after the Danish mathematician Agner Krarup Erlang. We have never revealed which of these is true, so you'll have to keep guessing!

What prompted its creation?

It was an accident. There was never a project "to create a new programming language". There was an Ericsson research project "to find better ways of programming telephony applications" and Erlang was the result.

Was there a particular problem the language aimed to solve?

Yes, we wanted to write a control program for a small telephone exchange in the best possible manner. A lot of the properties of Erlang can be traced back to this problem. Telephone exchanges should never stop, so we have to be able to upgrade code without stopping the system.

The application should never fail disastrously so we need to developed sophisticated strategies for dealing with software and hardware errors during run-time.

Why was Erlang released as open source? What's the current version of open source Erlang?

To stimulate the spread of Erlang outside Ericsson. The current version is release 13 - so it's pretty mature. We release about two new versions per year.

What's the Erlang eco-system like?

There's a very active mailing list where we have a lot of discussions about architectures and applications and help solve beginners problems.

Currently there are several conferences which are dedicated to Erlang. The oldest is the Erlang User Conference that runs once a year in Stockholm. The ACM Functional Programming Conference has had an "Erlang day" for the last few years and last year the "Erlang Factory" started.

The "Erlang Factory" runs twice a year. The last conference was in Palo Alto and the next one will be in London. These conferences are explosions of enthusiasm. They are become the meeting place for people who want to build large scale systems that never stop.

It's difficult to get overall picture. Erlang is best suited for writing fault-tolerant servers. These are things that are not particularly visible to the end-user. If you have a desktop application it's pretty easy to find out how its been implement. But for a server this is much more difficult. The only way to talk to a server is through an agreed protocol, so you have no idea how the server has been implemented.

Comments

This 'reply' mechanism is

This 'reply' mechanism is broken. My previous post was in response to 'Erlang - the name'.

Yeah! That joker needs to go

Yeah! That joker needs to go do research on the history of his own language before conducting interviews on it.

Erlang is a <> programming

Erlang is a <> programming language! Something didn't say by Armstrong is that Erlang comes from Prolog; in a certain way, it is a "functionalization" of Prolog, so that Erlang avoids the ferocious Prolog backtracking and passively waits for new inputs to come.

Integrated IDE

Instead of having external revision control systems like Git or Subversion I'd like to see revision control and re-factoring built into the language itself with fine-grain mechanism for introspection and version control.

For many years now, Smalltalk has Envy/Developer revision control and refactoring built-in into its IDE. I am sure there are a good many ideas can still be learned here.

One potential drawback of such an integrated environment is the risk of becoming a closed system. Smalltalk did live in its own "bubble".

Erlang - the name

You didn't do you homework
As you can find on erlang.org in faq - 10.1

10.1 Why is Erlang called "Erlang"?

Erlang is named after the mathematician Agner Erlang. Among other things, he worked on queueing theory. The original implementors also tend to avoid denying that Erlang sounds a little like "ERicsson LANGuage".

regards

What about Carl Sassenrath creator of Rebol

I can't see Carl Sassenrath, do you intend to interview him since he's the creator of the amazing Rebol Language ?

See http://reboltutorial.com

Post new comment

The content of this field is kept private and will not be shown publicly.
Users posting comments agree to the Computerworld comments policy.
Login or register to link comments to your user profile, or you may also post a comment without being logged in.
Joe Armstrong
Joe Armstrong
Newsletters
Sign up for our Computerworld newsletters!
Syndicate content Syndicate content Syndicate content
 
Whitepaper

Featured Webinar | 5 Ways to Accelerate Your Virtualisation Deployment Lifecycle

So you've heard about and already deployed virtualisation and don't really need any more info? How can you take this a step further? Virtualisation is a "must consider" technology and if you haven't already presented the business case to your boss or started virtualising you really haven't been doing your organisation justice. And if you aren't continuing to look at ways to better optimise an already virtualised environment, well now is the time to do this.

Zones
SAS Resource Centre

This Resource Centre hosts a wealth of thought leadership articles, whitepapers, and success videos, to help you make the most out of your corporate information in order to swiftly make sound business decisions to survive and thrive in the current economic climate.

Oracle Resource Centre

News, Features and the latest whitepapers on SOA, Application Grid, Enterprise Management and Database

Computerworld newsletter
Join the most dedicated community for IT managers, leaders and professionals in Australia
 
Copyright 2010 IDG Communications. ABN 14 001 592 650. All rights reserved.
Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.