Re:Rue: Higher level than Rust, lower level than Go
by pjmlp on Monday December 22, 2025 @03:24PM
(#46358578)
Reference counting is a GC algorithm from CS point of view, it doesn't matter if it is compile time or runtime.
Additionally there isn't a single ARC implementation that is 100% compile time, that when looking at the generated machine code has removed all occurrences from RC machinery.
Re:Rue: Higher level than Rust, lower level than Go
by Warwolt on Tuesday December 23, 2025 @04:27AM
(#46363796)
But common, collouqialy "Garbage Collection" as a language feature refers to a run time garbage collector.
Saying that the language has GC just because it has opt-in reference counting is needlessly pedantic
Re:Rue: Higher level than Rust, lower level than Go
by pjmlp on Tuesday December 23, 2025 @05:50AM
(#46364258)
Knowlege gets taught in specific institutions exactly because street knowledge is quite often incorrect, like in this case, spreading urban myths based in shaky foundations.
Re:Rue: Higher level than Rust, lower level than Go
by gf000 on Tuesday December 23, 2025 @07:26AM
(#46364757)
While I am usually the one that also goes in and correct people incorrectly calling RC not a GC, the important distinction here is that Rust (and C++) has the necessary language constructs to be able to implement ref counting entirely as a library.
Re:Rue: Higher level than Rust, lower level than Go
by pjmlp on Tuesday December 23, 2025 @09:51AM
(#46365723)
Which is a performance bottleneck, as the compiler is blind to library implementations and cannot optimise accordingly.
Also implementation has nothing to do with CS definition, there are tracing GC libraries for C as well.
Compile-time, reference-counting GC, not runtime tracing GC. So no background collector, no heap tracing, and no stop-the-world pauses. Very different from the JVM, .Net, or Go.