Erlang Challenge Followup
After I published the Erlang Challenge, I saw a few comments on Hacker News and Reddit repudiating it with the following arguments, to which I’d like to respond:
- It was a snide response to the Arc challenge.
Maybe I should have read the article a couple of times over before I published it late last night, because if it came off as snide, I didn’t communicate it as I had intended. I’ve found the Arc challenge fun and interesting (I even submitted my own Erlang solution), and I wouldn’t intentionally respond to it in a snide way. The reason I said the Erlang challenge is in the spirit of the Arc challenge is that the Arc challenge highlights Arc’s strengths, whereas the Erlang challenge highlights Erlang’s strengths.
- It was rigged in favor of Erlang.
That was basically the point. I wanted the Erlang challenge to demonstrate the kinds of problems that Erlang excels at solving. Maybe I should have made this clearer when I wrote the article — it was more of an illustration of Erlang’s strengths than a “real” challenge. I wasn’t really expecting other languages to compete with Erlang on its home turf, the same way I wouldn’t expect Erlang to compete with, say, C or C++ at low-level systems programming or with ActionScript at Flash programming.
- It showed that Erlang is good at solving a narrow scope of problems, but I didn’t show that Erlang is a good general purpose tool.
I don’t think it’s possible to show in 10 lines of code how good (or bad) a language is at solving anything but problems that are very similar to those in the example. The only true way to judge whether a language is good at building certain types of systems is to build them using the language and evaluate the results.
I know that people have used Erlang successfully to build phone switches, a MMORPG, a massively scalable DBMS, web applications, a collaboration application, high performance messaging servers, ad servers, web servers, a scalable poker server, and a 3D modeling tool. When I say that Erlang is a good language for building certain applications, that’s what I base it on.
Edit: I forgot to list CouchDB, an open source document storage system, and Triggit, a widget server unlike any other.
Trackbacks
Use this link to trackback from your own site.

Yariv,
I’m the one who posted your challenge to news.yc and reddit with the “snide” comment, not because I thought you’d written it in a particularly sarcastic way, but because it was so obviously over-the-top biased towards Erlang - in a similar way to how the Arc Challenge was biased towards Arc but taken to an extreme.
I’m an Erlanger myself, so I understand your enthusiasm for Erlang but even so I couldn’t tell on first reading whether you were being serious or poking fun at the Arc Challenge. That’s why I put a question mark against the editorial comment which pg so helpfully removed.
neilk on news.yc had it right when he said “maybe the requirement of spawning a million threads doesn’t seem like a cruel joke to you, but it is to anyone who has to work in a language other than Erlang.”
I apologise that I misunderstood your intentions, but the title I chose did what I intended, which was to provoke discussion about Erlang’s strengths and the usefulness of “challenges” that so obviously play to the strengths of a particular language.
Tim.
Tim, thanks for explaining your point of view. I intentionally made the challenge over-the-top biased towards Erlang, but that’s because I wanted to drive home what makes Erlang different from other languages. Anyway, no offense taken, but I’m happy PG removed the interpretive part of the title :)
[...] Update: please read the followup. [...]