• Ulf Wiger CTO of Erlang Solutions on Erlang Programming

Ulf Wiger, CTO of Erlang Solutions Limited is one of the first commercial users of ErlangĀ  In 1996, he joined Ericcson and became Chief Designer of the AXD 301 development. At nearly 2 million lines of Erlang code, AXD 301 is the most complex system ever built in Erlang, and probably the most complex commercial system built in any functional language. Ulf Wiger offers the following insights on Erlang as a programming language, and talks about his upcoming presentation at the Erlang Factory, in London from June 7 to June 11, 2010.

Q: What makes Erlang good for commercial solutions?

Ulf Wiger: I believe the best measure of what a language is good for is generally to look at what its community does with the language. The Erlang community has a high percentage of people working on scalable and highly available messaging systems, while e.g. the number of PhD students working on esoteric language extensions is fairly low.

This is not surprising, as Erlang was originally conceived as a high-level language for building robust, complex and scalable telecom applications. The language has been used
in commercial applications since 1996, and all components in the Erlang/OTP distribution have been designed with this in mind.

But at the same time as Erlang has this level of maturity, it rides the current trends towards functional programming and many-core. So it is both mature and cool – in a nerdy sort of way. This is a fairly unusual combination.

Q: Do many companies use it in Web applications?

Ulf Wiger: Well, yes and no. Erlang does not hold a candle to Ruby, for example, in regards to it’s depth and maturity in Web frameworks. There are some Erlang-based web frameworks out there, and while sometimes crude, they tend to be fairly competitive for applications that
need to serve dynamic pages at high speed. Community support is somewhat weak, though.

Where Erlang does make inroads is as a scalability solution for high-traffic web sites. Recently, Reddit moved over to a new architecture, using Erlang-based RabbitMQ to address scalability. Github uses Erlang for scalability, as does Heroku, the NASA Nebula Cloud, and many others. Then there are NoSQL database components, such as Riak, CouchDB and Scalaris, which are all written in Erlang.

Q: For a developer who might be curious about using the language as a hobbyist and those for using it for a functional, business applications, what would be your suggestions to each respective kind of developer?

Ulf Wiger: Sign up to the erlang-questions mailing list, and don’t be afraid to ask questions! The Erlang community has a reputation for being knowledgeable and helpful. This is also a good way to find out whether your plan for learning Erlang is a good one. Erlang is not ideal for all problems, and the people on the mailing list will usually tell you if you’d be better off picking another tool.

Also, be prepared for a slightly different experience. Erlang is an opinionated language, and you may find that you will need to change your view of programming a bit. While this may feel awkward at first, the upside is that you will gradually learn the reasons behind Erlang’s philosophy, and appreciate how it permeates the language and libraries.

Q: What will you will be presenting at the upcoming Erlang Factory in London?

Ulf Wiger: Most likely, I will be talking about some tracing and log analysis tools that we are developing as part of an European Union funded research project – ProTest. The ProTest project has spawned some pretty advanced tools and algorithms for what we call property-based development and testing. We are now moving into a phase where we will work hard to make these techniques available to the community.

Learn More

Register for Erlang Factory London

Erlang Official Web Site

@erlangfactory

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • E-mail this story to a friend!
  • FriendFeed
  • HackerNews
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Technorati
  • Twitter
  • FSDaily
  • Ping.fm

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

Leave a Reply

You must be logged in to post a comment.