On Saturday, 7 May 2022 at 19:30:08 UTC, Dukc wrote:
>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.
Yes, I agree with this in some cases. It depends on the full application. I often only use 1, 2 or 3 external libraries, but then I also need those specific ones. So it depends on what the application area, sure. How many unfilled gaps can you live with for that particular case?
For instance, if you need a solver, you are generally better off using the language that has the best API for that specific solver. You don't want to mess around with bugs in the API when programming the solver correctly is challenge! No space for "gaps" in the dev environment in that case.
>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.
Either way, I don't think web applications is a fair comparison, as it is more about the Cloud services enabling fast-boot-specialized-infrastructure, possibly with custom runtimes, for the most commonly used languages. (No executables allowed.)
It is very difficult to get access and compete in that space.
D could probably be more competitive for real time chat, game servers and services where you tailor the infrastructure yourself to run 24/7.
>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.
Yes, it is not about maximizing CPU performance. It is about infrastructure support. Instant boot, instant shutdown, automatic scaling. Basically one executable per web address in the extreme case (one server per "function").
>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.
If you are doing something mainstream, you basically will find something that get you there faster using a mainstream language (for that purpose).
Smaller languages are better off looking for the "underserved" niches. Could be gaming server. Could be something else, but run-of-the-mill web-services is "overserved" by others, so is basically impossible to do anything interesting in that space that will make developers gravitate towards you.