Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Tutorial On Building Robust Servers In Erlang 19

mvw writes "Wanna go beyond Java, Perl, or Python? Joe Armstrong has published a nice tutorial on implementing robust servers in the functional concurrent Erlang language. Here is the link."
This discussion has been archived. No new comments can be posted.

Tutorial On Building Robust Servers In Erlang

Comments Filter:
  • Re:Why Erlang? (Score:2, Informative)

    by Anonymous Coward on Wednesday February 05, 2003 @03:59PM (#5233523)
    Erlang has great concurrency. It can handle thousands of multiple processes
  • WTF is Erlang? (Score:3, Informative)

    by Anonymous Coward on Wednesday February 05, 2003 @04:16PM (#5233816)
    The FAQ says:

    Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson.

  • hmm (Score:3, Informative)

    by hfastedge ( 542013 ) on Wednesday February 05, 2003 @04:21PM (#5233889) Homepage Journal
    although i have just learned about erlang. i went to the trusty computer language shootout, and behold, it covered erlang!

    http://www.bagley.org/~doug/shootout/lang/erlang/ [bagley.org]

    This doesnt mean much as far more qualitative arguments exist. You can also browse over the code. :-)
  • Re:Why Erlang? (Score:4, Informative)

    by whee ( 36911 ) on Wednesday February 05, 2003 @05:26PM (#5234416)
    Well, besides the obvious concurrency advantage (need 200000 processes? no problem!), there's things like hot swapping of code, behaviors for common design patterns (servers, event handling, supervisors), bundled database written in Erlang, and other things like that.

    Writing a robust program in Erlang is extremely simple by using supervisors and following design principles like these [erlang.org]. For example, my Erlang IRC bot is near impossible to completely crash. If the server connection dies, there's a supervisor that'll keep trying to get it back up; All the while the other processes of the bot have no idea there's no connection -- they don't need to know. If I've written a faulty module and the code misbehaves, only that single process is affected. If possible, a process that has crashed will be automatically restarted and operations resume as if nothing had happened.

    Hot-swapping of code allows me to debug the bot without restarting it. If I discover a bug in the irc parsing routines, I simply fix it in the code, recompile, and reload the offending module -- while the bot is running. The new code replaces the old, and it just works.

    There's plenty more, but I would suggest checking Erlang's website [erlang.org] and reading the FAQ and examples. Oh, and here's [www.sics.se] a nifty benchmark :)

  • Erlang pong (Score:2, Informative)

    by Anonymous Coward on Wednesday February 05, 2003 @05:26PM (#5234424)
    As part of a class assignment I once had to create a distributed pong game in Erlang. I like the language and I think it will be appropriate for what they are talking about.
  • Re:WTF is Erlang? (Score:2, Informative)

    by foote ( 441858 ) on Wednesday February 05, 2003 @06:07PM (#5234969)

    Erlang is a dynamically typed concurrent functional programming language for large industrial real-time systems. Features of Erlang include [nott.ac.uk]...

  • Re:Why Erlang? (Score:1, Informative)

    by Anonymous Coward on Thursday February 06, 2003 @08:01AM (#5239436)
    In one line - easy Because the code is shorter, clearer and more beautiful - because segmentation violations cannot happen - because buffer overflows cannot happen - because processes in Erlang are much lighter weight than in Java/C/... - because you will have finished the Erlang program before you have even started wondering how to do it in C ...

One of the most overlooked advantages to computers is... If they do foul up, there's no law against whacking them around a little. -- Joe Martin

Working...