Tech News
← Back to articles

Hardware Stockholm Syndrome

read original related products more articles

Opening

Look at a modern CPU die. See those frame pointer registers? That stack management hardware? That’s real estate. Silicon. Transistor budget.

It’s a monument to C and to the everything-is-a-function paradigm.

Not because this paradigm discovered some fundamental truth about computation. Because it won, and winners get to reshape reality in their image.

Those transistors could have been general-purpose registers. Could have been message-passing hardware. Could have been anything. Instead, they’re dedicated to making one particular abstraction - blocking, synchronous function calls - cheaper to execute.

This is Hardware Stockholm Syndrome: we optimized the hardware for C, then pointed at the hardware and said “see, C is efficient!” We forgot we made it that way.

The Capture

How did we get here?

In the beginning, CPUs gave you the basics: registers, memory access, CALL and RETURN instructions. The rest was up to you. Assembly programmers decided where to put parameters, where to put return values, how to manage their stack (if they used one at all).

Then C came along with a rigid contract: everything is a function. Parameters go here. Return values go there. Stack frames look like this. The calling convention is standardized.

... continue reading