
Erlang vs. Scala - gnosis
http://yarivsblog.blogspot.com/2008/05/erlang-vs-scala.html
======
fingerprinter
This is an old article (2008) and some things might have changed with Akka for
Scala (<http://akka.io/>) which tries to give Scala much of the functionality
of Erlang. I personally haven't tried Akka but I have a good friend
prototyping with it right now.

The sad thing is that this same friend just built a huge system with Erlang
for another company and loved it. It did the job wonderfully and performed
under pressure like a champ. However the new gig for him wouldn't let him use
a 'non-java' programming language. Scala is even a stretch.

Given my experience with Erlang, I can wholeheartedly recommend it to someone
looking to build a system in Erlang's sweetspot.

~~~
nivertech
You can run Erlang on JVM it's called Erjang [1].

The author of the project claim, that with time Erjang will be better/faster
than Erlang, since JVM getting improved faster, than standard Erlang VM -
BEAM.

[1] <http://www.javalimit.com/2009/12/erjang-why.html>

~~~
davidw
Anyone know how he handles scheduling with Erjang? That's where Erlang's
advantages come from, mostly.

~~~
nivertech
Using Kilim project, which provides lightweight threads in Java.

------
joshhart
The author cites immutability as a large concern for using Scala. Immutability
is pretty easy in Scala - use vals (like final in Java) and persistent
datastructures (which have the same API as mutable objects), so I don't think
this is a valid concern. Almost everything I write is immutable.

I'm not very familiar with Erlang, but I thought mutability was pretty easy to
achieve there. Maybe it's the messages that have to be immutable? Could
someone clarify?

~~~
chops
The closest thing Erlang has to mutability is the process dictionary (get()
and set()), which can be thought of as a sort of memcache for each process.
Native variables themselves are immutable, without exception.

Unless you have a really good reason, using the process dictionary is
generally frowned upon.

~~~
rvirding
While the dictionary itself is mutable the data in it, both keys and values,
is immutable like all data in Erlang. It is the same with ETS tables which
behave more or less like processes, the data in them is also immutable.

------
willurd
The author lost me at "I haven't coded in Scala".

