On Friday, 6 May 2022 at 15:27:58 UTC, Ola Fosheim Grøstad wrote:
> > That doesn't mean if you have a webservice to write, that Go is the "best tool for the job". D could be very well be the "best tool for the job".
D does not have cloud service support as I am aware of. Eco system matters.
It is definitely true that comparing our ecosystem side-by-side with Go or Rust, we lose. Even in general, let alone if considering only the area where Go is presumably the strongest at, web servers.
But I argue that this does not always matter much. When you need a library to do something, it does not matter whether you have 5 or 50 good options. As Guillaume's DIID series shows, D's ecosystem is easily big enough for most purposes. Of course, most purposes != all purposes, but still. If you're compare the languages in something where both D and Go/Rust provide good libraries for, it's the language itself and it's standard library that make most of the difference. Not the ecosystem.
> Running an on-demand Go service will be much cheaper and responsive (I am talking CPU time).
How you use the networking library or framework is still going to matter more than what it is. Probably a Go web server is faster than a Vibe.D server if both have seen similar optimisation effort. Still, you can always drop to lower level networking APIs if you need more performance than the canonical use of Vibe.D provides. If there is any big language-level advantage in one over the other, it probably weighs more than that performance difference.
OTOH if a feature-rich networking framework is needed instead of just the basic functionality, I can then see the richer ecosystem of Go trumping other considerations.