Maintenance

Site is under maintenance — quizzes are still available.

Go to quizzes
Sponsored Reserved space — layout preview until AdSense is connected
Tech

The Forgotten Reason Why Early Programming Languages Were Designed to Resemble Plain English Sentences

Early programming languages like COBOL and FORTRAN adopted English-like syntax not just for readability, but to save money on punch cards, appeal to corporate executives, and ensure cross-industry compatibility—a history most developers have forgotten.

June 2026 5 min read 1 views 0 hearts

The Forgotten Reason Why Early Programming Languages Were Designed to Resemble Plain English Sentences

You type PRINT "HELLO, WORLD" into a terminal. It’s practically English. But why did early languages like COBOL, FORTRAN, and BASIC lean so heavily on words like IF, THEN, GOTO, and READ? It wasn’t just about readability. It was about survival—and a surprising economic calculation that most developers today have forgotten.

The Punch-Card Practicality

In the 1950s and 1960s, computers weren’t personal. They were room-sized monsters owned by corporations and governments. Programmers didn’t type code on keyboards; they punched it into cards—rectangles of stiff paper with columns of holes.

Here’s the forgotten detail: those cards had to be read by humans too. A human keypunch operator would transcribe the code from hand-written forms onto the cards. If the language looked like plain English, operators could spot obvious errors—like a misspelled DIVIDE instead of DIVID. This saved time and money. Each mistake meant a fresh card, and cards cost real money.

The "English" Trap Was a Sales Ploy

Grace Hopper, the inventor of COBOL’s English-like syntax, famously said, "We decided to write programs in English because it was the language of the managers." That wasn’t just a kindness to programmers. Corporate executives—who approved budgets for million-dollar mainframes—wanted to believe their new machines could be understood by anyone. The marketing message? "Your accountants can write programs, not just engineers."

It was a lie. COBOL was verbose and still required deep logical thinking. But the surface-level familiarity convinced bean counters to write checks. Without that English gloss, computer adoption might have been slower.

No Syntax Highlighting, No Mercy

Early terminals (if they existed) were teletype machines—no color, no bold, no font changes. If you used cryptic syntax like (*#!$), the code was a grey soup. Plain English words likePERFORMandUNTILbroke the visual monotony. A programmer scanning a stack of printouts could spotLOOP` faster than a meaningless symbol. This was crucial when debugging meant paper cuts.

The "COBOL-Mist" Myth

A persistent urban legend says COBOL was designed to look like English so managers could read it. But Hopper herself admitted this was only partially true. The real reason was cross-industry compatibility. Different companies used different hardware. Standardizing around English keywords (e.g., ADD A TO B GIVING C) meant the same code could be compiled on IBM, UNIVAC, or Burroughs machines without rewriting.

Imagine today if every language needed separate versions for Windows, macOS, and Linux. Plain English keywords were the first "write once, run anywhere" trick.

The Quiet Rebellion

Assembly language programmers hated this. To them, LOAD R1, 5 was elegant. MOVE 5 TO ALPHA felt bloated. But the English-like approach won because it reduced the cognitive barrier for non-engineers. The US Department of Defense mandated COBOL for all military contracts—not because it was technically superior, but because it was auditable. A colonel could glance at a program and at least guess what it did.

What We Lost

Modern languages (Python, Swift, Kotlin) still borrow English keywords like def and if, but they’ve shed the verbosity. The early obsession with "clear English" also created a clarity double standard—COBOL programs were long, but Fortran’s DO 10 I=1,5 was cryptic without context. The industry polarized between "business friendliness" and "mathematical brevity."

Next time you type print("hello"), remember: the word print exists because a 1960s keypunch operator needed to read your code upside down. And maybe because a manager needed to feel smart.

Comments

Questions, corrections, and tips stay visible for everyone reading this page.

0 in thread

Join the discussion

Shown next to your comment.

Up to 4,000 characters

No comments yet

Be the first to leave a note — it helps the next reader.