Posted by
timothy
on from the official-language-of-the-federation dept.
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."
Re:Why Erlang?
by
Anonymous Coward
·
· Score: 2, Informative
Erlang has great concurrency. It can handle thousands of multiple processes
WTF is Erlang?
by
Anonymous Coward
·
· Score: 3, Informative
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.
Re:WTF is Erlang?
by
foote
·
· Score: 2, Informative
Erlang is a dynamically typed concurrent functional programming language for large industrial real-time systems. Features of Erlang include...
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. 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 and reading the FAQ and examples. Oh, and here's a nifty benchmark:)
Erlang pong
by
Anonymous Coward
·
· Score: 2, Informative
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:Why Erlang?
by
Anonymous Coward
·
· Score: 1, Informative
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...
Erlang has great concurrency. It can handle thousands of multiple processes
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.
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/
This doesnt mean much as far more qualitative arguments exist. You can also browse over the code.
-- -- --
Help my mini cause: My journal
Writing a robust program in Erlang is extremely simple by using supervisors and following design principles like these. 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 and reading the FAQ and examples. Oh, and here's a nifty benchmark :)
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.
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 ...