A few notes on choosing between Go and D for a quick project

via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 14 04:46:11 PDT 2015

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 
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.

More information about the Digitalmars-d mailing list