Why my job is cooler than yours, episode 2048 …

ViCat

I need to look at Erlang again

There’s a theory (or at least a challenge) that says that as a programmer you should learn a new language every year. To this end I’ve been playing with lisp this year, as it is the root of much of what is in other languages, and some things that aren’t in any. However this post has a few interesting comments on Erlang compared to Lisp:

The most challenging bit was designing a fail-over, take-over and load-balancing mechanism. This was quite a pain in the rear. Thinking of master and slave database servers, broadcasting packets, etc. drove me crazy. …

Erlang was designed to handle problems like this. Fail-over, take-over and load balancing are built-in concepts. Erlang also comes with a in-memory database called Mnesia that replicates itself among the servers in your cluster. All of this is no wonder when you consider that Erlang has been designed from the ground up to program telco switches.

I’ve looked at Erlang briefly before, but hadn’t considered this angle. When it comes down to it I’m a network hacker, and my attempts to create a single-threaded server in Lisp have been frustrating (and non-portable) at times; there is no support for networking in the ANSI standard (Lisp pre-dates networks) although all implementations support it (in different ways), and non-blocking IO is primitive. I’m going to finish my hacking on Lisp, but Erlang intrigues me now.

  1. Archives

  2. Categories

  3. Twitter

    • Just got pictures of the earthquake damage from my sister in Kaiapoi. Real "the ground opened up" stuff. 32 minutes ago
    • Ooo, the beta of Angry Birds is out on Android. 17 hours ago
    • Released a new version of my Android Internode widget; fixes the problem with Internode's new SSL cert. 23 hours ago
    • @wangjammer5: Cool, here's something to get you started: http://is.gd/eT33b :) 1 day ago
    • So, if iTune Ping is Apple's social network will the perpetual Apple tweet circle-jerk move there now? 1 day ago
  4. RSS Google Reader Shared Items