We had a meeting on Tueesday evening to discuss our first impressions on Erlang. We have all been using the book ‘Programming Erlang’ by Joe Armstrong. We were a little late getting started but Steven, Andy, Graham, David and myself eventually found eachother.
None of us had used Erlang previously but Graham has used Haskell a lot and noted some of the major differences between the them. I should have started taking notes earlier but the two that stood out for me were that Haskell has lazy evaluation and strong typing.
The biggest interest in Erlang was its scalability thanks to concurrent and distributed applications being easy to write. We did wonder how Erlang might balance load in a distributed environment and quickly came up with a wish list – can Erlang choose how to distribute load across nodes, and can it migrate a process to a different node? I’m sure with use these questions can be answered.
Everyone seemed to agree that the language feels quite old. My memory about it appearing in its current form around 1990 was correct but most people thought it must have been older. Its apparent age probably comes from how it appears to a newcomer when seeing things like make files and lack of UTF8 support at the heart of the language. Steven mentioned that he also thought some common programming tasks seemed to look awkward – I think his example concerned lots of calls to lists:reverse. Graham suggested that when more familiar with functional programming such scenarios may become less frequent as things can be done differently.
We also discussed the book. David asked if we thought it would make a good reference for beginners. I thought the examples were very good and some of the later programs appear to achieve a lot in just a couple of pages. On the downside, there was more than one occasion we were unable to find a topic we were discussing in the index.
For myself, there was a lot to take in. I enjoyed reading the book but started to forget some of the syntax as I read more complicated examples. The book does suggest actually trying the examples while working through the book so maybe I will start again. Graham and David thought that it is unlike a lot other books on functional programming due to its focus on practical programming and not so much the theory.
I believe that only Chris has so far tried something in Erlang but since he wasn’t present we all concluded this might be a good next step