Blog: GC

Max Haughton maxhaton at gmail.com
Sat Mar 6 03:07:32 UTC 2021


On Saturday, 6 March 2021 at 01:33:00 UTC, NonNull wrote:
> Regarding the depressing GC blog article, dated 2021
>
> https://dlang.org/blog/2021/03/04/symphony-of-destruction-structs-classes-and-the-gc-part-one/
>
> At the foot it says
> Content Copyright © 2016-2018 by the D Language Foundation, All 
> Rights Reserved
>
> Easy to guess the current content about the GC. If a person 
> knows anything about the situation and has a small amount of 
> imagination, all of this is totally obvious. What a mess!
>
> Do we really have to reverse engineer the implementation to get 
> here? And a very incomplete reverse engineering indeed. The 
> blog's conclusion: The situation is bad, therefore avoid 
> interacting with it --- this is my first order approximation to 
> the article.
>
> So about D itself. No design here then, no intent, no 
> anticipation of the consequences of putting the pieces 
> together, no strategic reasoning about the consequences of the 
> construction of D with a garbage collector. All this long-ago 
> stuff is coming home to roost.
>
> The article admits it is incomplete. But what can follow except 
> workarounds if someone needs to get past this? And most won't 
> work. This is not just a roadblock. It reveals the entropy 
> inside D. The core of D is fatally flawed. D is not a language 
> where system garbage is taken care of, both concretely and 
> abstractly. The idea that we all system-program ourselves 
> around these difficulties suggests both labor and depression.
>
> So disappointed. I wanted D to win. But this is where the dirt 
> is, and I do not believe a strategic fix will ever be in the 
> works. Entropy rules.

I vaguely agree that the Garbage Collector as a global concept is 
dated, however: Be realistic - every programming language has 
guidelines (http://dev.stephendiehl.com/hask/ Even for Haskell 
they can be enormous) and dos and don'ts.

Mike's article could probably use being a little more abstract in 
it's discussion of garbage collection as a concept, but this 
isn't reverse engineering the garbage collector, is it? It's also 
the second of (I think) three articles.

Fundamentally Garbage Collection is an optimization opportunity 
(sometimes at runtime, usually for the developer) is a trick for 
when you don't need determinism. All this article does is make 
clear what you shouldn't be tricked into believing.


More information about the Digitalmars-d mailing list