Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Concept

Garbage Collection

Technique

An automatic memory management technique that reclaims memory occupied by objects a running program no longer uses. Invented by John McCarthy, already a pioneer entity on this atlas, around 1959 as part of the Lisp programming language runtime, and described in his 1960 paper Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, published in Communications of the ACM. This description is adapted from Wikipedia contributors under CC BY-SA 4.0; changes were made. https://creativecommons.org/licenses/by-sa/4.0/

Facts
Disputed
Origin Year
1959 1
The technique is dated to around 1959, but its own seminal description did not appear in print until McCarthy's 1960 Communications of the ACM paper; the invention year and the publication year are two different dates, both recorded rather than collapsed into one.
Core Principle
Memory a program can no longer reach is identified automatically and reclaimed, so the programmer never issues an explicit free instruction for it. 1
FAQs

Why can garbage collection cause pauses in a program?

Collection can happen at unpredictable moments and stall the program.

The moment when garbage is actually collected can be unpredictable, which can produce stalls, or pauses to shift and free memory, scattered through a session. Those unpredictable stalls can be unacceptable in real-time environments, in transaction processing and in interactive programs. Incremental, concurrent and real-time garbage collectors were developed to address these problems, each with its own trade-offs.
Connections

Associated With

In Field

Source Wikipedia: Garbage collection (computer science)

Invented By

Source Wikipedia: Garbage collection (computer science)
Sources
1. Wikipedia: Garbage collection (computer science)
Wikimedia Foundation
  • History section
    Garbage collection was invented by American computer scientist John McCarthy around 1959 to simplify manual memory management in Lisp
  • Lead section
    Garbage collection was invented by American computer scientist John McCarthy around 1959 to simplify manual memory management in Lisp.
View the Source
Free On-line Dictionary of Computing: Garbage Collection
Free On-line Dictionary of ComputingIn Group: Compiler and Language Implementation Techniques, Dictionary entry
Quote, In Group: Compiler and Language Implementation Techniques, Dictionary entry
The process by which dynamically allocated storage is reclaimed during the execution of a program
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.