Programming Languages
Memory Management: GC, Reference Counting, and Manual Memory
How the three main approaches to memory management work, what they cost, and why the choice of memory model shapes the entire character of a programming language.