[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