> It is not a workaround, it is the most abstraction-friendly way to do memory > management that we know of.
But reachability is not liveness and so a GC is an incomplete solution too. If you encourage programmers not to think about memory management since the GC handles it, what do you think happens? You get logical leaks and out-of-memory problems, IME, YMMV of course. Add multi-threading and the complexity becomes scary. Cliff Click probably forgot more about GCs than I'll ever know and yet he thinks about going for Rust-style MM in his language experiments: > Rust-style memory lifetime management; linear logic owner; borrowing; > guaranteed death (from [https://github.com/cliffclick/aa](https://github.com/cliffclick/aa) )
