D is our last hope

GrimMaple grimmaple95 at gmail.com
Tue Dec 5 21:26:05 UTC 2023


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.




More information about the Digitalmars-d mailing list