Re:“Essentials of Garbage Collectors” full course is now ava...
by chrisseaton on Sunday July 07, 2019 @06:07AM
(#20374399)
There are production garbage collectors written in languages like Java, so this shouldn't be surprising.
Re:“Essentials of Garbage Collectors” full course is now ava...
by reitzensteinm on Sunday July 07, 2019 @08:56AM
(#20374860)
Garbage collection algorithms are also applicable outside of in process memory management.
I wrote a copying collector against a KV store in Clojure that I ran in prod for a while, though I swapped it out for a generational mark and sweep in Java.
I'm sure somewhere, somehow, somebody has written a GC in Excel serving some kind of business need.
Re:“Essentials of Garbage Collectors” full course is now ava...
by DmitrySoshnikov on Sunday July 07, 2019 @09:24AM
(#20374959)
Great point, and the example. Exactly, the GC algorithms are a high-level abstraction, which can be transferred, and applied on higher-level systems.
Re:“Essentials of Garbage Collectors” full course is now ava...
by pjmlp on Sunday July 07, 2019 @07:14AM
(#20374564)
It isn't for those of us that actually bother to learn about them, unfortunately still feels like spreading gospel, given the sore state of some education institutions.
Re:“Essentials of Garbage Collectors” full course is now ava...
by DmitrySoshnikov on Sunday July 07, 2019 @09:27AM
(#20374975)
Absolutely valid point, that's why I didn't want to stick specifically on C++ (even though it'd be easier specifically for raw heap memory).
As mentioned about though, GC algorithms can be transferred to higher-level system as well. For example, here is a basic Mark-Sweep algorithm implemented in JavaScript on JS objects in a collection: https://gist.github.com/DmitrySoshnikov/4391763
Re:“Essentials of Garbage Collectors” full course is now ava...
by Rexxar on Sunday July 07, 2019 @09:50AM
(#20375060)
Garbage collection algorithms can be used for other thinks than pure memory management. Each time you have dependencies between objects and want to remove some objects which are not useful any more, you can use a similar algorithm to make a clean up function which has a visible impact for the user of the software. (example: removing points not used by any shape in a drawing software)
Good luck with the course.