Garbage Collection for Systems Programmers

H. S. Teoh hsteoh at qfbox.info
Sat Apr 6 00:29:04 UTC 2024


On Sat, Apr 06, 2024 at 12:06:04AM +0000, Adam Wilson via Digitalmars-d wrote:
> On Friday, 5 April 2024 at 16:40:06 UTC, Carl Sturtivant wrote:
> > *There is a massive strategic win to having a fabulous 21st century
> > GC for D, perfectly good for soft-real-time coding with no further
> > ado, like the one used by the author of the article linked at the
> > start of this thread.*
> 
> This is the point I was trying to make. The strategic win for have a
> fantastic GC would be immense, and would far outweigh anything we
> could gain by continuing down the no-GC path.

Totally.  If we could introduce write barriers that opens the door to
incremental generational GCs, that would be a HUGE step in the long run.
Maybe not so much in the short term, but guys, it's been at least a
decade. We gotta stop chasing decisions that only benefit the short
term. It's time to think about long-term strategy.


[...]
> But I was there when the anti-GC crowd put on a full court press to
> convince the community that all we needed to do to see massive
> increase in adoption was make the language more accessible to C/C++
> users who need to manually manage memory. As a result, tools like
> `@nogc` and `-betterC` were introduced. When that proved insufficient,
> the anti-GC crowd started demanding more invasive changes, up to and
> including removing the GC altogether.

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.


[...]
> Chasing no-GC as far as we did was a mistake that cost us precious
> time and scarce resources. We need to be mature enough to admit that
> it was a mistake and correct our course. Given the lessons and
> direction of the industry over the intervening years, I would strongly
> argue that now is the time to return our focus to the GC.
[...]

+100.  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.


T

-- 
Why did the dinosaur get into a car accident? Because a tyrannosaurus wrecks.


More information about the Digitalmars-d mailing list