Why many programmers don't like GC?

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Thu Jan 14 10:19:11 UTC 2021


On Thursday, 14 January 2021 at 10:05:51 UTC, Guillaume Piolat 
wrote:
> On Wednesday, 13 January 2021 at 18:58:56 UTC, Marcone wrote:
>> I've always heard programmers complain about Garbage Collector 
>> GC. But I never understood why they complain. What's bad about 
>> GC?
>
> Languages where the GC usage is unavoidable (Javascript and 
> Java) have created a lot of situations where there is a GC 
> pause in realtime program and the cause is this dynamically 
> allocated memory. So a lot of people make their opinion of GC 
> while using setup where you couldn't really avoid it.

Indeed, but I don't think we should underestimate the perceived 
value of having a minimal runtime. Like, if D had a better GC 
solution that involved an even heavier runtime, it would still be 
a big issue for people interested in low level system programming.

Transparency is an issue. System level programming means you want 
to have a clear picture of what is going on in the system at all 
levels, all the way down to the hardware. If you cannot 
understand how the runtime works you also cannot fix issues... so 
a simple runtime is more valuable than a feature rich complex 
runtime.

That is kinda what defines system level programming: you know 
exactly what every subsystem is doing so that you can anticipate 
performance/resource issues. And that is the opposite of high 
level programming where you make no assumptions about the 
underlying machinery and only care about the abstract 
descriptions of language semantics.






More information about the Digitalmars-d-learn mailing list