Well, when you use a GC, you don&#x27;t have to figure out where to put the &quot;free&quot; calls.  This sounds like a minor thing, but it lets you write code in a very different style (have you ever tried writing a functional program with explicit malloc and free?)<p>That said, there are other ways to avoid writing &quot;free&quot; than using a garbage collector.  Regions (<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Region-based_memory_management" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Region-based_memory_management</a>) are faster at allocation than malloc (you just increment a pointer to allocate) and faster at freeing than a GC (you throw away the entire region when you&#x27;re done with it).  It seems tricky to base a general-purpose programming language around them, though.