My (short) answers:

Couch absolutely takes advantage of things like supervisor trees and process
spawning. Handling each client in a separate process is not something only
done in erlang, but erlang makes it easier. The supervisor trees and pattern
mattern matching make error handling pretty nice, ensuring that errors
bubble up appropriately so proper return codes can reach the client.

In the future, I suspect we'll see even more as clustering features start to
work their way into core couchdb.

Anything else in particular you had in mind?

On Aug 16, 2010 10:54 AM, "Miles Fidelman" <mfidel...@meetinghouse.net>
wrote:

Hi Folks,

I wonder if someone might share some insight into why Erlang was chosen for
CouchDB.

Don't get me wrong, I think Erlang is a really cool language/environment;
I'm a big fan of designs that spawn lots of independent processes, and
communicating via messages.  But... it doesn't seem like CouchDB takes
advantage of all that much of Erlang's unique capabilities.

Hence, I'm sort of wondering why Erlang for CouchDB, and if there are any
visions of taking more advantage of Erlang down the road.

Thanks,

Miles Fidelman

-- 
In theory, there is no difference between theory and practice.
In<fnord>  practice, there is.   .... Yogi Berra

Reply via email to