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.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder