couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Anderson <>
Subject Re: Erlang vs Scala
Date Wed, 08 Apr 2009 08:24:56 GMT

Sent from my iPhone

On Apr 7, 2009, at 10:30 PM, kowsik <> wrote:

> I'm curious, what part of the stdlib (OTP) does Couch actually use and
> what exactly about the Erlang VM is special?

The stdlib is important, but I think being a functional language is  
what actually matters.

It makes it simple to do all the things we do while keeping the memory  
footprint small, for one thing.

Personally I like Erlang because it is easy to reason about. Obj  
oriented behavior is great for domain models, but for infrastructure  
stuff functional langs are a pretty good fit, for a variety of reasons.

> I, personally, am pretty
> comfortable with a wide array of languages (Erlang excluded for now)
> and to me the conceptual idea of persistent BTree's with map/reduce
> over stdin/stdout to view servers matters way more than what language
> it's written in currently. It's exactly why I chose to write the
> CouchDB emulator in JavaScript and also why I'm super comfortable
> working with CouchDB. I never see or encounter Erlang. All I see,
> functionally, is REST + JS and I can extrapolate the inner workings
> from there.
> While I'm not necessarily advocating CouchDB to be rewritten in
> another language, I am wondering the choice of Erlang over other more
> "prevalent" languages. Given the time I have at hand, I definitely
> don't see myself contributing a lot in Erlang, though I could help in
> the view server that's in JavaScript.
> Thoughts?
> K.
> On Tue, Apr 7, 2009 at 3:41 AM, Jan Lehnardt <> wrote:
>> On 7 Apr 2009, at 10:12, 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.
>>> [...]
>>> So I'm wondering what everybody here thinks.
>> To me Erlang is three things: The language, the stdlib (OTP) and  
>> the VM
>> (BEAM). These three things make Erlang the success it is (in my  
>> opinion).
>> Strip out BEAM and replace with JVM and you get something  
>> "less" (in my
>> opinion). I understand that running on the JVM and using the Java  
>> ecosystem
>> is a bonus for some people, but it is not for me*.
>> In case it is not clear, this is just my opinion. :)
>> * There are cases that can be easily found where I'd decide that  
>> using the
>> JVM is a good idea. CouchDB is not one of them.
>> Cheers
>> Jan
>> --

View raw message