[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Coroutines and Go
- From: Jim Whitehead II <jnwhiteh@...>
- Date: Thu, 12 Nov 2009 16:58:47 +0000
On Thu, Nov 12, 2009 at 4:55 PM, David Given <email@example.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> Jim Whitehead II wrote:
>> The PAR keyword doesn't in any way approximate 'OCCAM-like'
>> concurrency. Concurrency in occam is built around communication
>> between distinct processes through explicit communication channels.
>> Yes, the SEQ keyword is covered by the sequential nature of Algol-68,
>> and the PAR keywords are roughly the same.. but that only begins to
>> graze the surface of what OCCAM-like concurrency actually is.
> Indeed, you're quite right. I did meant to mention channels, honest, but
> forgot. CSP concurrency is one of Go's nicer features.
> ...according to Wikipedia CSP was first described in a paper in 1978;
> Occam came out in 1983 (although it looks way older from the syntax).
> Perhaps Algol-68 simply predates it, which would explain why it has par
> but no channels. Anyone modernising the language would definitely need
> to add them.
Indeed, being at the birthplace of CSP and a concurrency researcher I
just happened to pick up on that specific bit of your email. I
actually have a number of complaints about the current state of
channel based communication in Go, but that's another topic entirely