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