Museum Wire
Law 0 · Katie's LawEvery system is shaped by the human drive to do less work. This is not a flaw. It is the economic force that produces all software — and all software failure.Law I · Boundary CollapseWhen data crosses into a system that interprets structure, without being constrained, it becomes executable.2026 IncidentAxios. 70 Million Downloads a Week. North Korea Inside.Law II · Ambient AuthorityWhen a system trusts the presence of a credential instead of verifying the intent behind it, authentication becomes indistinguishable from authorization.AXM-001Set Theory — Membership, Boundaries, and BelongingLaw III · Transitive TrustWhen a system inherits trust from a source it did not verify, the attack surface extends to everything that source touches.2026 IncidentClaude Code — The Accept-Data-Loss FlagLaw IV · Complexity AccretionSystems do not become complex. They accumulate complexity — one reasonable decision at a time — until no single person can hold the whole in their head.Law V · Temporal CouplingCode that assumes sequential execution, stable state, or consistent timing will fail the moment concurrency, scale, or latency proves the assumption wrong.2026 IncidentCopy Fail — 732 Bytes to Root on Every Linux DistributionAXM-002Boolean & Propositional Logic — True, False, and the Excluded MiddleLaw VI · Observer InterferenceWhen the system that monitors health becomes a participant in the system it monitors, observation becomes a failure vector.2025Amazon Kiro — The 13-Hour Outage2025Operation Chrysalis: The Notepad++ Supply Chain Hijack2025Replit Agent — The Vibe Code Wipe2025Shai-Hulud — The npm Worm That Ate Its Own Ecosystem2024Air Canada Chatbot — The Policy That Wasn't2024Change Healthcare — One-Third of US Healthcare, One Missing MFA2024CrowdStrike — The Security Update That Broke the World2024Google Gemini Image Generation — The Six-Day Pause2024XZ Utils — The Two-Year Infiltration20233CX — The Supply Chain That Ate Another Supply Chain2023Amazon Prime Video — The Per-Frame State Machine2023Bing Sydney — The Chatbot That Went Rogue2023Samsung ChatGPT Leak — The Employee Who Pasted the SecretEFFODE · LEGE · INTELLEGELaw 0 · Katie's LawEvery system is shaped by the human drive to do less work. This is not a flaw. It is the economic force that produces all software — and all software failure.Law I · Boundary CollapseWhen data crosses into a system that interprets structure, without being constrained, it becomes executable.2026 IncidentAxios. 70 Million Downloads a Week. North Korea Inside.Law II · Ambient AuthorityWhen a system trusts the presence of a credential instead of verifying the intent behind it, authentication becomes indistinguishable from authorization.AXM-001Set Theory — Membership, Boundaries, and BelongingLaw III · Transitive TrustWhen a system inherits trust from a source it did not verify, the attack surface extends to everything that source touches.2026 IncidentClaude Code — The Accept-Data-Loss FlagLaw IV · Complexity AccretionSystems do not become complex. They accumulate complexity — one reasonable decision at a time — until no single person can hold the whole in their head.Law V · Temporal CouplingCode that assumes sequential execution, stable state, or consistent timing will fail the moment concurrency, scale, or latency proves the assumption wrong.2026 IncidentCopy Fail — 732 Bytes to Root on Every Linux DistributionAXM-002Boolean & Propositional Logic — True, False, and the Excluded MiddleLaw VI · Observer InterferenceWhen the system that monitors health becomes a participant in the system it monitors, observation becomes a failure vector.2025Amazon Kiro — The 13-Hour Outage2025Operation Chrysalis: The Notepad++ Supply Chain Hijack2025Replit Agent — The Vibe Code Wipe2025Shai-Hulud — The npm Worm That Ate Its Own Ecosystem2024Air Canada Chatbot — The Policy That Wasn't2024Change Healthcare — One-Third of US Healthcare, One Missing MFA2024CrowdStrike — The Security Update That Broke the World2024Google Gemini Image Generation — The Six-Day Pause2024XZ Utils — The Two-Year Infiltration20233CX — The Supply Chain That Ate Another Supply Chain2023Amazon Prime Video — The Per-Frame State Machine2023Bing Sydney — The Chatbot That Went Rogue2023Samsung ChatGPT Leak — The Employee Who Pasted the SecretEFFODE · LEGE · INTELLEGE
Keyboard Navigation
W
A
S
D
or arrow keys · M for map · Q to exit
← Back to Hall of Heroes
John Backus pixel portrait
⬡ Pioneer⬢ Builderfame

John Backus

@backus

Creator of FORTRAN and BNF Notation

1950s · 4 min read · Decommissioned
Much of my work has come from being lazy. I didn't like writing programs, and so, when I was working on the IBM 701, I started work on a programming system to make it easier to write programs.

The Story

In 1953, John Backus was a programmer at IBM, and he hated his job. Not the thinking part — the typing part. Programming the IBM 701 meant writing machine code by hand: load this register, add that address, store the result here. It was tedious, error-prone, and — Backus believed — fundamentally unnecessary.

He proposed something that most of his colleagues and managers thought was impossible: a system that would let programmers write mathematical formulas in something resembling English and algebra, and a program — a compiler — that would translate those formulas into efficient machine code automatically.

The IBM Mathematical Formula Translating System — FORTRAN — shipped in April 1957 after three and a half years of development. It was the first high-level programming language that actually worked. Not a toy, not a research project, but a production system that generated code fast enough for IBM's customers to use.

This was not a foregone conclusion. The conventional wisdom in the 1950s was that automatic translation from high-level descriptions to machine code would produce programs too slow to be useful. Programmers — who were, at the time, literally people who wrote machine instructions — viewed compilers with suspicion. Why would you trust a machine to write code when a human could write it better?

Backus and his team proved them wrong. FORTRAN's compiler produced code that was within 10-20% of hand-written assembly for most programs. That margin was small enough that the productivity gain overwhelmed it. Suddenly, a program that took two weeks to write in assembly could be written in an afternoon.

But Backus wasn't done. In 1959, while working on the specification for ALGOL 60, he co-developed a formal notation for describing the syntax of programming languages. Backus-Naur Form (BNF) — refined with Peter Naur — gave the field its first rigorous way to define what constitutes a valid program. Before BNF, language syntax was described in English prose, with all the ambiguity that implies. After BNF, every language could have a precise, parseable grammar. Compilers could be built from the grammar specification itself.

Then Backus did something remarkable: he turned against his own legacy. In his 1977 Turing Award lecture, "Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs," he argued that the imperative programming model he'd helped establish — the model FORTRAN embodied — was fundamentally limited. He advocated for functional programming, for algebraic program composition, for a paradigm shift away from the sequential, state-mutating style that dominated (and still dominates) the industry.

The lecture is one of the most important documents in computer science. The creator of the most influential imperative language publicly arguing that imperative programming was a dead end. It didn't change the industry overnight — we're still writing imperative code seventy years later — but it planted the seed that grew into Haskell, Erlang, and the functional features now embedded in every modern language.

Why They're in the Hall

Backus is a Pioneer and Builder at the most foundational level — he built the ground that every other exhibit, hero, and disaster in TechnicalDepth stands on.

Pioneer: Two contributions, either of which alone would justify a place here. FORTRAN proved that humans didn't have to speak machine. That single insight — that there could be a layer between human thought and machine execution — is the precondition for everything in software. Every language, every framework, every abstraction layer is a descendant of the moment Backus decided that writing machine code was a problem to be automated away.

BNF formalized the concept of a programming language grammar. Without it, there's no compiler theory, no parser generators, no language design as a discipline. Every language specification, every syntax error message, every linter rule traces back to the notation Backus and Naur gave us.

Builder: FORTRAN didn't just demonstrate a concept — it shipped. It ran on real hardware, solved real problems, and convinced a skeptical industry that high-level languages were practical. The language is still in active use in scientific computing more than sixty years later. Few artifacts in computing history have that longevity.

The Turing Award lecture adds a dimension that makes Backus essential to TechnicalDepth's mission. He looked at the paradigm he'd helped create, recognized its limitations, and publicly argued for something better. That willingness to question your own foundations — to ask whether the patterns you established are actually the right patterns — is exactly the kind of thinking that software archaeology demands. The exhibits in TechnicalDepth document what happens when patterns go unquestioned. Backus showed what it looks like to question them, even when they're your own.