start | find | index | login or register | edit
2008-03-19
by earl, 6108 days ago
Damien Katz, creator of CouchDB, on "What Sucks About Erlang". A bag of complaints under a sensational title circling mainly around Erlang's syntactic idiosyncrasies: multiple terminators: ,;., quirky if, limited expressivity in guards, verbose records). And while most of that fades away as you get used to Erlang (or you easily build around them using Erlang's macros), the multiple expression terminators are a minor annoyance which will stay with you. As you stumble across that many times a working day, this actually builds up to a larger annoyance over the day (I think Joel Spolsky once wrote a nice piece about that, but I'm too lazy to look it up now). In any case, it's "only syntax".

However, the main real issue Katz points out (and has done so before; unfortunately with the success of it becoming some kind of ill-informed in-joke about Erlang), is what Erlang's VM does when it runs out of memory: it exits. Completely. This is not necessarily bad, good, wrong, right; it's debatable. Other designs in various systems: Java starts throwing OutOfMemoryExceptions until GC happens to be able to free more memory, malloc(3) returns NULL, Linux's kernel invokes the dreaded OOM-killer, etc.

Erlang's focus on soft real-time and failure-surviving systems might imply a different solution, and it looks like Katz also succeeds in stimulating a discussion that goes beyond "that sucks" and sheds more light on what's actually possible given the constraints imposed by Erlang's memory model and GC mechanisms. And that's a more interesting discussion to follow.

Meanwhile, Philippe Mougin of F-Script/OOPAL fame wrote what could have easily been titled "What Rocks About Objective-C".
powered by vanilla
echo earlZstrainYat|tr ZY @.
earl.strain.at • esa3 • online for 8681 days • c'est un vanilla site