On Saturday, 6 April 2024 at 00:29:04 UTC, H. S. Teoh wrote:
> Walter himself used to say in the old days that it's better to cater to existing, enthusiastic customers who are already here, than to chase would-be customers who claim that if only feature X were implemented, they'd adopt D instantly. Because once you implement X, said would-be customers would start clamoring for Y instead. And when you implement Y they would start clamoring for Z. The truth is that they will never become real customers; X, Y and Z are merely convenient excuses. In the meantime, so much effort is being put towards features that in the long run doesn't draw in the promised rush of new customers (and probably never will), while quality-of-life changes for existing customers are being neglected.
And we are losing potential customers who don't make claims, and just want GC to be a non-issue for their soft-real-time requirements.
> While there have been improvements in our current GC over the past years, we're running against a brick wall in terms of available GC algorithms, because of the pessimistic situation of no write barriers. That closes the door to many of the major advancements in GC algorithms over the past decade or two. It's time we stop sitting on the fence and commit to a GC-centric language that actually has a competitive GC to speak of, one on the level of Java or C#'s incremental generational GCs.
Yes. There's no downside! Only a chance at a strategic future for D.
Quite aside from technical reasons, I think it is utterly essential and almost too late.
If this isn't embraced and the current tactical compromise is continued, then erosion of D from propaganda from anti-GC zealots will continue. "Maybe you should leave D" being emitted at people in the community who want to use GC and want better GC without getting it. In other words, getting people to join the ones who were deflected from D in the first place and go away to Java, C#, etcetera.
"Want a pure GC language, go away to language blah." "GC is Scripting, go away to GC-only language blah, not real programming", etcetera. We've all encountered this psychological noise that has only emotive basis. And it's been very destructive to D. If GC-centric people are deflected in the first place or pushed out then this serves anti-GC zealotry.
The present state of GC serves anti-GC zealotry. Code can be written to use a lot of time attributable to the GC, and used to shout about GC being bad.
It is a reasonable working hypothesis that without escaping the present situation with a competitive GC for soft-real-time, that D will be lost strategically.