

Erlang: What the Cool Kids Are Doing - iamelgringo
http://www.sdtimes.com/article/column-20071015-01.html

======
davidw
I thought the cool kids had already moved on to Scala...

~~~
rontr
The cool kids won't move on to Scala for a number of reasons, the primary of
which is that Scala's actors are not as powerful as Erlang processes.

See Virding's First Rule of Programming (<http://www.nabble.com/Erlang-
concurrency-to14747956.html>):

"Any sufficiently complicated concurrent program in another language contains
an ad hoc informally-specified bug-ridden slow implementation of half of
Erlang."

~~~
davidw
> Scala's actors are not as powerful as Erlang processes.

How so? I know Erlang reasonably well, but haven't messed with Scala at all.

------
nootopian
"You cannot change the state of a variable once it has been set"
[http://www.onlamp.com/pub/a/onlamp/2007/09/13/introduction-t...](http://www.onlamp.com/pub/a/onlamp/2007/09/13/introduction-
to-erlang.html?page=2)

Im not a cool kid.

~~~
dpapathanasiou
It's not a question of cool or not; it just seems you haven't been exposed to
functional programming yet.

Here's an introduction if you've got an imperative/OO background:
<http://www.defmacro.org/ramblings/fp.html>

~~~
Tichy
I thought LISP is functional, and it lets you change variables. So I don't
think that is specific to functional programming.

~~~
paulgb
Lisp is not purely functional (few languages are). Purely functional languages
do not let you modify variables.

Edit: Also, programmers in non-pure functional languages will often still
minimize their use of mutation (changing variables) for a number of reasons.

~~~
Tichy
In any case, when evaluating Erlang, I found the immutable variables to be
rather unpractical. I can see why they might help to avoid errors with multi
threading, but I don't see a reason to be excited about it? At the end of the
day, it is another limitation of the language. With Java, that is what people
complain about, the constraints, why wish for it in other languages?

If you think that immutable variables reduce programming errors, you are free
to just not change your variables anyway, I guess. No language constraint
required.

