How I Came to Write D -- by Walter Bright

Bienlein jeti789 at web.de
Wed Apr 16 06:06:55 PDT 2014


> Can you give a concrete example of what features would be 
> easier if it was built-in?

My point is that multi-threading/concurrency should be very 
simple. Go has channels and goroutines and that's it. That does 
not make concurrency simple, but a lot simpler than when using 
locks, semaphores, mutexes, etc. D already has some very nice 
actor-style approach towards concurrency, which also offers a 
very nice simple approach towards concurrency.

What Go can offer is something like "spawn as many thousand 
threads as you like". This is independent of vibe.d, vert.x or 
whatever. At least on my machine I cannot spawn more than 5000 D 
kernel threads as the machine runs out of resources. Being able 
to spawn as many thousand threads as needed without caring about 
it seems to be an impotant aspect for being an interesting 
offering for developing server-side software. As I already said 
the FiberScheduler by Sean Kelly could achieve something in that 
direction. That would make a big difference for using D for 
server-side applications beyond the argument of being more 
productive than C++.

-- Bienlein



More information about the Digitalmars-d-announce mailing list