On Thu, 2015-03-26 at 18:47 -0700, Walter Bright via Digitalmars-d-announce wrote: > On 3/26/2015 12:40 PM, Russel Winder via Digitalmars-d-announce wrote: > > (Almost) All publicity is good publicity. > > > I attended a presentation at NWCPP on Go last week. I have never written a Go > program, so filter my opinion on that. > > It seems to me that every significant but one feature of Go has a pretty much > direct analog in D, i.e. you can write "Go" code in D much like you can write > "C" code in D.
That is almost certainly true. I suspect you can write Go in C++ as well. D and C++ are definitely supersets of Go. > The one difference was Go's support for green threads. There's no technical > reason why D can't have green threads, it's just that nobody has written the > library code to do it. I think the way go handles interfaces and their composition would require a few tricks in D and C++, but I am sure it can be done. Aren't "green threads" now given the label fibres? And I think Vibe.d has an implementation for these – but I do not know for certain. The dataflow way of working and the special case CSP, also actors are clearly the right abstraction for most parallel computation, using as we all agree, a kernel thread pool animating tasks. std.parallelism has something along these lines but focussed on data parallelism. Given the existence of C++CSP2 (http://www.cs.kent.ac.uk/projects/ofa/c ++csp/) D can get a CSP implementation for free, especially if the recent innovation on C++ working come to fruition. As work on GPars and Quasar in the JVM arena, and Erlang and Go since they were created, show, lightweight processes with communication channels is the next step in providing good abstractions for CPU and IO bound processing. Anthony Williams (Just Software, https://www.justsoftwaresolutions.co.uk/)) has been at work trying to put actors and dataflow on top of C++11 threads, with some success. D needs to corral all the bits, which I think are there, to create a good offering. However, I cannot see this happening purely on volunteer, hobbyist resource. We need to find an organization or three willing to resource this activity. -- 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
Description: This is a digitally signed message part