From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <1236365240.16176.2826.camel@work> References: <138575260903030352s623807d7p5a3075b1f7a591f6@mail.gmail.com> <3e1162e60903030719v141b41e9ma5fd98c73d8b0e7c@mail.gmail.com> <1236103870.4929.101.camel@goose.sun.com> <20090303183836.2DE505B2E@mail.bitblocks.com> <1236365240.16176.2826.camel@work> Date: Fri, 6 Mar 2009 12:38:57 -0800 Message-ID: <3e1162e60903061238s5af328eo9a8f2cfcc4c71ae8@mail.gmail.com> From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=001636e0adeb2c1972046479460e Subject: Re: [9fans] threads vs forks Topicbox-Message-UUID: b501126e-ead4-11e9-9d60-3106f5b1d025 --001636e0adeb2c1972046479460e Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Things like Clojure, or Scala become a bit more interesting when the VM is extended to allow tail recursion to happen in a nice way. On Fri, Mar 6, 2009 at 10:47 AM, Roman V Shaposhnik wrote: > Clojure is definitely something that I would like to play > with extensively. Looks very promising from the outset, > so the only question that I have is how does it feel > when used for substantial things. > > Thanks, > Roman. > > P.S. My belief in it was actually reaffirmed by a raving > endorsement it got from an old LISP community. Those > guys are a bit like 9fans, if you know what I mean ;-) > > > On Tue, 2009-03-03 at 10:38 -0800, Bakul Shah wrote: > > On Tue, 03 Mar 2009 10:11:10 PST "Roman V. Shaposhnik" > wrote: > > > On Tue, 2009-03-03 at 07:19 -0800, David Leimbach wrote: > > > > > > > My knowledge on this subject is about 8 or 9 years old, so check with > your > > > local Python guru.... > > > > > > > > > > > > The last I'd heard about Python's threading is that it was > cooperative > > > > only, and that you couldn't get real parallelism out of it. It > serves > > > > as a means to organize your program in a concurrent manner. > > > > > > > > > > > > In other words no two threads run at the same time in Python, even if > > > > you're on a multi-core system, due to something they call a "Global > > > > Interpreter Lock". > > > > > > I believe GIL is as present in Python nowadays as ever. On a related > > > note: does anybody know any sane interpreted languages with a decent > > > threading model to go along? Stackless python is the only thing that > > > I'm familiar with in that department. > > > > Depend on what you mean by "sane interpreted language with a > > decent threading model" and what you want to do with it but > > check out www.clojure.org. Then there is Erlang. Its > > wikipedia entry has this to say: > > Although Erlang was designed to fill a niche and has > > remained an obscure language for most of its existence, > > it is experiencing a rapid increase in popularity due to > > increased demand for concurrent services, inferior models > > of concurrency in most mainstream programming languages, > > and its substantial libraries and documentation.[7][8] > > Well-known applications include Amazon SimpleDB,[9] > > Yahoo! Delicious,[10] and the Facebook Chat system.[11] > > > > > --001636e0adeb2c1972046479460e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Things like Clojure, or Scala become a bit more interesting when the VM is = extended to allow tail recursion to happen in a nice way. =A0

On Fri, Mar 6, 2009 at 10:47 AM, Roman V Shaposhnik <rvs@sun.com> wrote:
Clojure is definitely something that I woul= d like to play
with extensively. Looks very promising from the outset,
so the only question that I have is how does it feel
when used for substantial things.

Thanks,
Roman.

P.S. My belief in it was actually reaffirmed by a raving
endorsement it got from an old LISP community. Those
guys are a bit like 9fans, if you know what I mean ;-)


On Tue, 2009-03-03 at 10:38 -0800, Bakul Shah wrote:
> On Tue, 03 Mar 2009 10:11:10 PST "Roman V. Shaposhnik" <<= a href=3D"mailto:rvs@sun.com">rvs@sun.com> =A0wrote:
> > On Tue, 2009-03-03 at 07:19 -0800, David Leimbach wrote:
> >
> > > My knowledge on this subject is about 8 or 9 years old, so c= heck with your
> > local Python guru....
> > >
> > >
> > > The last I'd heard about Python's threading is that = it was cooperative
> > > only, and that you couldn't get real parallelism out of = it. =A0It serves
> > > as a means to organize your program in a concurrent manner.<= br> > > >
> > >
> > > In other words no two threads run at the same time in Python= , even if
> > > you're on a multi-core system, due to something they cal= l a "Global
> > > Interpreter Lock".
> >
> > I believe GIL is as present in Python nowadays as ever. On a rela= ted
> > note: does anybody know any sane interpreted languages with a dec= ent
> > threading model to go along? Stackless python is the only thing t= hat
> > I'm familiar with in that department.
>
> Depend on what you mean by "sane interpreted language with a
> decent threading model" and what you want to do with it but
> check out www.clo= jure.org. =A0Then there is Erlang. =A0Its
> wikipedia entry has this to say:
> =A0 =A0 Although Erlang was designed to fill a niche and has
> =A0 =A0 remained an obscure language for most of its existence,
> =A0 =A0 it is experiencing a rapid increase in popularity due to
> =A0 =A0 increased demand for concurrent services, inferior models
> =A0 =A0 of concurrency in most mainstream programming languages,
> =A0 =A0 and its substantial libraries and documentation.[7][8]
> =A0 =A0 Well-known applications include Amazon SimpleDB,[9]
> =A0 =A0 Yahoo! Delicious,[10] and the Facebook Chat system.[11]
>



--001636e0adeb2c1972046479460e--