A magazine about programmers, code, and society. Written by and for humans since 2018.
Download this issue in PDF or EPUB format.
October 6th, 2025
Welcome to the 85th issue of De Programmatica Ipsum, about Memory Management. In this edition, we look at the strategies used by major programming languages to manage memory; in our Vidéothèque section, we learn how C and C++ manage memory in a video by Ryan Baker; and in the Library section, we review "What Every Programmer Should Know About Memory" by Ulrich Drepper.
by Adrian Kosmaczewski
On Monday, June 6th, 2011, after Steve Jobs' last public appearance as a keynote speaker, took place the "Developer Tools Kickoff" session at Apple’s annual Worldwide Developers Conference, also known as WWDC. That day, Chris Lattner, creator of the LLVM compiler infrastructure and the Swift programming language, introduced a new feature of the Objective-C language to thunderous applause. This feature, still present in Swift, is known as "Automatic Reference Counting", or ARC.
The filmography of Christopher Nolan runs along a common thread: a never-ending obsession with human memory. In "Memento" (2000), Leonard Shelby must solve the horrendous rape and murder of his wife while dealing with short-term memory loss. In "The Prestige" (2006), memory is self-deception. Dom Cobb, in "Inception" (2010), keeps building an emotional and subjective reality around the souvenir of his wife. Cooper’s memory in "Interstellar" (2014) is non-linear, and oblivious to time dilation issues. "Tenet" (2020) opposes the existence of our memory to our capacity for free will. Finally, "Oppenheimer" (2023) gives a moral perspective through the regretful memory of building the ultimate weapon. Nolan screams at us that human memory is non-linear, repetitive, unreliable, and most importantly, in a perpetual conflict with that thing we call reality.
This month's Vidéothèque movie provides a (very) short and simple introduction to the subject of memory architecture. But this is not, by far, the minimum any software developer should know about memory segmentation and management for their daily work; let alone computer scientists, or developers working in native code for embedded platforms, or even mobile applications. This is where this month’s Library choice shines in full: we are talking of the most comprehensive article you will ever read about the subject of computer memory, by far, and it remains as relevant as it was at the time of its publication 18 years ago.