Garbage Collection for Systems Programmers

Carl Sturtivant sturtivant at gmail.com
Sat Apr 6 16:47:26 UTC 2024


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.*



More information about the Digitalmars-d mailing list