[Fwd: Re: [go-nuts] Need for official package manager]
John Colvin
john.loughran.colvin at gmail.com
Mon Mar 31 06:01:29 PDT 2014
On Monday, 31 March 2014 at 09:18:08 UTC, Russel Winder wrote:
> On Sun, 2014-03-30 at 16:01 +0200, Paulo Pinto wrote:
> […]
>> They are quite interesting to follow, given some of the more
>> opinionated long time community members.
>
> For those not following golang-nuts, the above is a wonderfully
> understated comment. This is very much the English/Stephen Fry
> use of
> the term "quite interesting" :-)
>
>> Sometimes I wonder if anyone would care, if the language
>> wasn't sponsored by Google.
>
> Actually yes. Though perhaps it would not have been so widely,
> nor would
> the traction have been so high and so fast. The point here is
> that Rob
> Pike has been working on message passing languages for decades:
> Newsqueak, Alef, Limbo,… and Go is the breakthrough of this
> sequence
> into the mainstream. For those of us who have been working on
> message
> passing systems, Go represents a very important language since
> it brings
> processes and channels based message passing to the masses (of
> programmers).
>
> It is abundantly clear that shared-memory multi-threading is an
> operating system and infrastructure technique along with locks,
> monitors, semaphores, etc. and has been since the 1970s. The
> Java
> community are just beginning to wake up to this, pushed by
> Scala folk
> and the fact that Doug Lea, Brian Goetz and a host of others'
> work is
> finally getting proper recognition, not least in Java 8.
>
> Actors have sort of become a bit popular as an asynchronous
> process and
> message passing technique, but it is just one of many
> concurrency and
> parallelism architectures, the two most obvious of which are
> dataflow
> and Communicating Sequential Processes (CSP) – Go's system is a
> kind of
> variation on CSP. And then there is data parallelism. D sort of
> has
> actors. D's data parallelism is unsophisticated compared to
> that of Java
> 8. Go, PyCSP, Python-CSP, JCSP and GroovyCSP are the only even
> part-way
> known about CSP implementations. DataRush and Groovy are the
> only part
> way known about dataflow systems.
>
> I pushed Anthony Williams to get an actors and dataflow library
> for C++,
> and this is progressing nicely, albeit a bit slowly. Hopefully
> it will
> get into Boost.
>
> The question for D is whether Go has already beaten D simply
> because of
> goroutines. Sadly I have to say yes. As do Google and
> Canonical, though
> they are probably not sad about it, they are just getting on
> with
> implementing lots of systems in Go.
>
> Whether Rust turns into a "disturbance in the C/C++/D/Go
> force", we
> shall see.
Syntax notwithstanding, do you see any reason why goroutine-style
CSP couldn't be implemented as a library in D?
I know little about this area but at a brief glance it doesn't
seem a particularly difficult problem.
More information about the Digitalmars-d
mailing list