Writing Ruby code for a living, building a company in a foreign country, learning a human foreign language (Spanish) and a computer foreign language (Erlang) on the side hasn’t left a lot of time for blogging about Erlang. But in the past month, we were able to spend a few minutes with Joe Armstrong, creator of Erlang and certainly the language’s most famous ambassador.
EI: In the past year Erlang has started to become much more popular – how has this affected you?
JA: I get invited to a lot of conferences – I used to say yes to every invitation I got, but this got silly. So I now only accept a few per year.
EI: Do you get asked for autographs in the street yet?
EI: But seriously, does it seem like Erlang is headed the same way Ruby was 5 years ago?
JA: No idea – but scratch the surface there seems to be lots of interesting stuff going on.
EI: Related to Erlang’s increasing popularity, any thoughts on the proliferation of web platforms for Erlang?
JA: Not really – Erlang wasn’t designed for building web platforms – it was designed for building fault-tolerant systems. Where Erlang seems to excel is in instantant messaging (ejabberd for XMPP and rabbit-MQ for AMQP) and schema-free data-bases (CouchDB, Amazon SimpleDB, Scalaris) etc.
EI: How about Reia – any thoughts about this language? It has mutable variables, among other things…
JA: I haven’t tried it – I don’t like mutable anything.
EI: When I try to introduce Erlang to developers, I often get incredulous stares because when they first see the syntax they’re overwhelmed with how unusual it looks. What do you think the major barriers to adoption are with Erlang? Is it syntax or is it unfamiliarity with functional programming? Or something else?
JA: Fear of failure – this is always why people don’t try new stuff. Functional programming takes people out of their comfort zones. Once you get started it’s pretty easy, but the step to getting started is perceived as being large.
EI: If you could change anything about Erlang’s syntax, would you?
JA: The record syntax is a mess, I’d like to introduce hashmaps in some convenient notation …
EI: Do you see language design as a hobby or is this the only language you’ve ever created?
JA: A hobby and obsession. I’ve made several languages – Erlang is the only one that has escaped.
EI: Any thoughts on other functional languages such as Haskell or F#?
JA: I like Haskell very much – not so keen on F# – By tightly integrating with .net you get a lot of benefits but this damages the conceptual integrity of the language.
EI: Any plans for another book?
JA: I’d like to write some more programming books.