Chris Lattner on garbage collection vs. Automatic Reference Counting (2017)
I develop languages full time, and it's clear to me that RC will make <i>massive</i> strides forward in the next decade, for a few reasons:<p>1. First-class regions allow us to skip a surprising amount of RC overhead. [0]<p>2. There are entire new fields of static analysis coming out, such as in Lobster which does something like an automatic borrow checker. [1]<p>3. For immutable data, a lot of options open up, such as the static lazy cloning done by HVM [2] and the in-place updates in Perceus/Koka [3]<p>Buckle up yall, it's gonna be a wild ride!<p>[0] <a href="https://verdagon.dev/blog/zero-cost-refs-regions" rel="nofollow">https://verdagon.dev/blog/zero-cost-refs-regions</a><p>[1] <a href="https://aardappel.github.io/lobster/memory_management.html" rel="nofollow">https://aardappel.github.io/lobster/memory_management.html</a><p>[2] <a href="https://github.com/Kindelia/HVM" rel="nofollow">https://github.com/Kindelia/HVM</a><p>[3] <a href="https://www.microsoft.com/en-us/research/publication/perceus-garbage-free-reference-counting-with-reuse/" rel="nofollow">https://www.microsoft.com/en-us/research/publication/perceus...</a>