> A garbage collector is more or less a workaround, but not a solution. I think > memory safety without a GC is a big selling point for every single new > programming language.
Memory management is a classical cross-cutting concern that a GC can solve without sacrificing modularity (because it has global knowledge). It is not a workaround, it is the most abstraction-friendly way to do memory management that we know of. Obviously, GC has its own costs, but that's what makes GC vs. non-GC memory management a matter of tradeoffs, not an unambiguous "big selling point." Memory management techniques cannot be easily mixed and matched. If you use a specific memory management technique, then your entire system has to use it (cross-cutting concerns again), or you have to use laborious and often imperfect bridging solutions.
