There is a good post floating around on why Erlang is suited to its
own VM and not so much so to the JVM.
Though this isn't directly what you're asking, it is relavent. Since
couchdb endeavors to make distribution
of the database across machines a feature, I suspect getting this
working *well* on a JVM-backed language like
Scala or Clojure may be somewhat more difficult in comparison to Erlang.
Though the JVM has good support for threading models (arguably one of
the best of the imperative language VM's),
it was designed from the ground up like Erlang to have such
fundamental concurrency support. You can tack on
the concurrency (ie: TerraCotta) but its still not the same as
something like BEAM.
My 2 cents.
-Zac
On Apr 7, 2009, at 5:12 AM, Wout Mertens wrote:
Hi everyone,
I've always been worried about the fact that CouchDB runs on Erlang.
After all, the Erlang ecosystem isn't that large or well-established
in (non-telephony) enterprise settings.
That's why, when I read about Scala, my interest was piqued. Scala
is Java with adaptations to make it scale. Adaptations mostly nicked
from Erlang, no less. On top of that, Scala compiles to JVM
bytecode, so that it's "entreprise-compatible". In our company, the
preferred application is Java based, because the deployment teams
understand it and know how to manage JVM farms.
So I began to wonder if it wouldn't be better for CouchDB to be
written in Scala.
Here's a link I found comparing Erlang and Scala:
http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/
After reading the blogpost I was thinking "maybe not" but after the
comments, I'm not so sure any more.
So I'm wondering what everybody here thinks.
Wout.