[Fwd: Re: [go-nuts] Need for official package manager]

Russel Winder russel at winder.org.uk
Mon Mar 31 02:17:26 PDT 2014


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. 

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



More information about the Digitalmars-d mailing list