On Tuesday, 5 December 2023 at 18:42:13 UTC, Hipreme wrote:
> My solution was simply just sticking to what you're doing and what you're gonna use.
I'm sorry, but this is exactly the issue OP was talking about. When everyone is "just sticking to what they're doing", you can't get tooling/3rdparty going. It needs to be a collective effort of sorts. And unless there is collective effort, there never will be enough 3rdparty to make D viable for most people.
> If the case falls out over my usage, I simply don't implement since I don't have infinite time.
Contrary, what I've tried to say was: it's extremely difficult (in D) to implement a "good for everyone" solution, because the language contradicts itself. If you design a @nogc
library, then GC people are left out. If you design a GC library, then @nogc
users are left out. And yes, I'm aware of templates and metaprogramming, but the code becomes a mess if you try to keep your stuff double-ended.
And then you have worseD
users, they don't have half of the language available. What should you, as a framework designer, do? Ignore them? Then you get a lot of complaints how "there is no good framework for X. This one doesn't support betterC". And if you design your library for use with worseD
, you're left out with basically C on steroids. No GC, half of std, etc.
As a result, the already scarce D programming force is scattered around projects that do essentially the same but with some unique subset of D.