June 23, 2026

Segment Fault: The Comment Wars

8086 Segmented Memory was a good idea

Programmers are roasting this retro memory take — but a few fans say the villain was us

TLDR: The article says early PC memory splitting was a smart compromise that got blamed unfairly, and that programmers helped turn it into a nightmare. Commenters were split between furious “absolutely not” reactions and grudging respect for the idea in theory, making the real story a battle over whether bad tech or bad habits caused the mess.

A retro-computing writer tossed a match into the comments by claiming the much-hated 8086 memory system was actually a good idea—and wow, the crowd did not stay calm. The article argues that Intel’s old design, used in early IBM PC-style machines, was a clever compromise for its time: it let computers reach more memory without forcing everyone to throw away older software. In plain English, it was a clunky way to stretch a small system into a bigger one. The author’s big twist? The real problem wasn’t the design alone. It was developers, who refused to use it the way Intel supposedly intended and instead tried to force memory to behave like one big flat space.

That take triggered instant pushback. One commenter came in swinging with a blunt “No, it wasn’t”, comparing the idea to using a special end marker in text: sounds smart for five minutes, painful forever after. Another said the whole thing might have been less awful if programmers had more flexible controls to work with, basically arguing the design was doomed by being too awkward in practice. But not everyone joined the pile-on. A few defenders popped up to say versions of segmented memory were actually used effectively in systems like Google Native Client and older secure computers, while another tried to simplify the chaos by calling segments “64k sliding windows”—the comments equivalent of someone storming into the room with a whiteboard. The vibe? Half history lesson, half group therapy, with a side of nerd gladiator combat.

Key Points

  • The article explains that the 8086 reached 1MB of addressable memory by combining a 16-bit segment register with a 16-bit offset to form a 20-bit physical address.
  • The author argues that segmented memory was a practical response to late-1970s constraints, especially the need to preserve compatibility with 8080-era assembly software.
  • The article describes segment overlap: each segment started 16 bytes after the previous one, allowing multiple segment:offset pairs to map to the same physical address.
  • According to the article, Intel intended programmers to use memory as separate 64KB blocks identified by segment selectors rather than as a flat 1MB space.
  • The article concludes that developers’ preference for flat memory and normalized pointers undermined the original segmentation model.

Hottest takes

"No, it wasn’t" — raverbashing
"sounds great 5 min in and horrible 10min afterwards" — raverbashing
"segments ... are 64k sliding windows into an 1M address space" — st_goliath
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.