On Thursday, 18 November 2021 at 12:31:43 UTC, FeepingCreature wrote:
I don't think D is ready to be used by everyone for every purpose. But I think it's ready to be used by some for some purposes, and has been for a long time. Even by many for many purposes. I think the set of "customers that D is ready for" is badly communicated at the moment, but it is definitely non-empty. (Evidence one.)
PS: I concur with the GC. I think this is one case where D majorly falls down, because it advertises as "you don't need to think about memory management" and if you take that seriously, you will get punished for it as you scale up input. You can't write D like Java, because D's GC is significantly less forgiving, but this is not communicated anywhere.
PPS: 'shared' is one of those features that we've just elected to not touch with a ten foot pole. It does nothing useful for us; I believe I've had rants on the topic. :) Luckily, it's easy to pretend it doesn't exist.
This answer has improved my understanding of where D is at, thank you. It's this information that is not coming over loud and clear to me.
Personally, I don't have a strong opinion on GC vs nogc etc., etc. I do think that if the community could agree to differ on these issues, state clearly what is fully supported and what platforms it works excellently on, and commits to maintain those features on those platforms at that level of excellence, then numbers will pick up faster than they otherwise would.
Off the top of my head I'd also even consider making an LTS release that had no preview options. Again just an observer's perspective but it feels like with the various DIPs and previews available that this causes an interoperability problem between libraries. I'm happy to be corrected if that is not the case.