On Saturday, 14 March 2015 at 09:12:31 UTC, Russel Winder wrote:
Why? In any CSP-like system, it is possible to get deadlock,
livelock
and races. However "debugging" them is nigh on trivial compared
to the
effort required with shared-memory multi threading.
PyCSP and Python-CSP as well as Go show this.
I am not sure if CSP alone is the main reason for why people use
Go for micro services. I guess it is the combined focus on high
concurrency, simplicity and stability that makes it suitable for
the kind of things you would use a new language for: smaller
projects with specific demands.
I'm surprised Russel fell for it. -- Andrei
Fell for what?
Andrei doesn't grok that Go has an overall better infrastructure
for writing high concurrency applications that are bottle necked
by network traffic.
D lacks:
1. stack protection for fibers
2. non-hogging GC
3. a simple language that makes it easy to read external library
code
4. channels
And that' only to get started competing, add infrastructure
adoption and eco system and the competition is already lost.
D+vibe.d is a nice offering, but not a winning horse if comes
down to a race. Competing on Go's terms will not lead anywhere.
D would be better off going for a "free" niche, like game
servers, non-C++ game programming etc.