The Great Position-Independent Code Scam
Part 1
Imagine that Sun Microsystems convinced the entire computing industry to accept a 20% performance penalty in exchange for solving a problem that didn’t need to exist. Imagine they dressed this up as innovation, as progress, as the natural evolution of systems programming. Imagine that 35 years later, we’re still paying this tax on every function call, every global variable access, every single operation in our “modern” shared libraries.
This happened. It’s called position-independent code, and it’s one of the most successful engineering scams ever perpetrated on the computing industry.
Like De Beers convincing us that compressed carbon is worth two months’ salary, or Apple convincing us we need music pumping into our ears every waking moment, the PIC scam succeeded because it wrapped unnecessary complexity in the language of progress. We were told that sharing library code between processes would save memory. We were told that security through address randomization was worth the cost. We were told that the Global Offset Table and Procedure Linkage Table were elegant solutions to fundamental problems.
We were lied to.
The Con Begins
Back in the 1970s, programs knew where they lived. The linker would assign absolute addresses, the operating system would load your program at exactly that spot, and everything just worked. Your code ran at full speed because when you wanted to call a function or access a variable, you knew exactly where it was. No indirection, no lookup tables, no runtime overhead. Just pure, efficient machine code doing what machine code does best.


