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

Reply via email to