Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 61498 invoked from network); 8 Apr 2009 08:33:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Apr 2009 08:33:38 -0000 Received: (qmail 56368 invoked by uid 500); 8 Apr 2009 08:33:37 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 56262 invoked by uid 500); 8 Apr 2009 08:33:37 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 56252 invoked by uid 99); 8 Apr 2009 08:33:37 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2009 08:33:37 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jchris@gmail.com designates 209.85.198.225 as permitted sender) Received: from [209.85.198.225] (HELO rv-out-0506.google.com) (209.85.198.225) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2009 08:33:27 +0000 Received: by rv-out-0506.google.com with SMTP id k40so2066rvb.35 for ; Wed, 08 Apr 2009 01:33:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:references:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:x-mailer :mime-version:subject:date:cc; bh=prQo7eaarfdtEfZ6GSg+bCZv6fSC+8JP4SQ8x9nHL+Q=; b=AHEXQgXegcl8c0In9MOvno+laEbs4waTqoWMZ57HUs7Lg+xwH2dRFxsHiBlmuRiej9 Td2YDLaIYsa6WmKv2Gqx7MsC6ezZYNb+De6r049xu432nRLOtLYLyI01irhr6ym9uVQ/ Od9mJ7S9wXQxXZVHeBuMBylceLOlFMBzQcwZQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=references:message-id:from:to:in-reply-to:content-type :content-transfer-encoding:x-mailer:mime-version:subject:date:cc; b=wObk9KIy5fQstJ83HdhtEUKbJVa6dhq4NZ9OGWJLLaW+V43/73GWe8RosENE0ledtj bfX4iHwp1zOJDuEvxePpYbI0P/8hcMhkMNiJ/RfwknbIHQOy5Cac2JJLCHeUk8Umi+X+ yxn3ONYOGhbt8BSZD89kT7y8/KqeziORC3i5M= Received: by 10.141.154.8 with SMTP id g8mr422836rvo.235.1239179102900; Wed, 08 Apr 2009 01:25:02 -0700 (PDT) Received: from ?192.168.1.107? (netblock-66-245-251-45.dslextreme.com [66.245.251.45]) by mx.google.com with ESMTPS id l31sm2978145rvb.27.2009.04.08.01.25.01 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 08 Apr 2009 01:25:01 -0700 (PDT) References: <9C1BC46B-3821-4736-A616-37A0E5C69B11@gmail.com> <638B8805-3E4B-43EF-92E1-1CD94806C171@apache.org> <7db9abd30904072230y791a7230p13bf7fe55bb93c75@mail.gmail.com> Message-Id: <7992E5C5-318E-4C99-A517-45F1A3B12FCA@gmail.com> From: Chris Anderson To: dev@couchdb.apache.org In-Reply-To: <7db9abd30904072230y791a7230p13bf7fe55bb93c75@mail.gmail.com> Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Mailer: iPhone Mail (5H11) Mime-Version: 1.0 (iPhone Mail 5H11) Subject: Re: Erlang vs Scala Date: Wed, 8 Apr 2009 01:24:56 -0700 Cc: dev@couchdb.apache.org X-Virus-Checked: Checked by ClamAV on apache.org 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 >> -- >> >>