Skip to content
ALB Wiki

Diff — COBOL

Comparing rev 4 → rev 5

{{infobox
| title = COBOL
| image = cobol-report-1960.jpg
| caption = The April 1960 COBOL report — the language's founding document (public domain)
| name_meaning = COmmon Business-Oriented Language
| designed = 1959, published April 1960
| designer = CODASYL committee — Bromberg, Discount, Reeves, Sammet, Selden, Tierney
| influenced_by = FLOW-MATIC ([[History of Programming#The age of languages|Hopper]]), COMTRAN, AIMACO
| paradigm = Imperative, procedural — fixed-format
| quirks = Four divisions · PIC clauses · columns 1–80
| still_runs = Banks, insurers, government systems worldwide
}}
**COBOL** — **CO**mmon **B**usiness-**O**riented **L**anguage — is the language nobody loves and everybody uses. Designed by committee in 1959, mocked by computer scientists within a decade, and declared dead every year since, it quietly runs a large fraction of the world's banking, insurance, and government systems. More than sixty years on, it is still being standardized — COBOL-2023 exists — and still printing paychecks.
## The committee that built a language
In **April 1959**, representatives of computer manufacturers and government agencies met at the Pentagon under the newly formed **CODASYL** — the Conference on Data Systems Languages. The drive came largely from **Mary Hawes** of Burroughs, and the leverage came from the Department of Defense: the DoD was the industry's biggest customer, and it made clear that machines sold to the government would need to run a **common business language**. Competing vendors who could barely agree on lunch agreed on a language.
A six-person short-range committee did the actual drafting — **Howard Bromberg, Howard Discount, Vernon Reeves, Jean E. Sammet, William Selden, and Gertrude Tierney** — drawing on three earlier business languages: [[Grace Hopper|Hopper]]'s **FLOW-MATIC** (**[[UNIVAC_I|UNIVAC]]**), IBM's **COMTRAN**, and Honeywell's **AIMACO**. The result was published as the COBOL-60 report in April 1960.
**Grace Hopper's real role** deserves precision: she did not design COBOL — the committee did — but she had already proven its premise with FLOW-MATIC, the first English-like business language, and her compiler work was the existence proof that made the committee's English-syntax ambitions credible. She served CODASYL as a technical advisor and became COBOL's most famous champion. Among the committee's working figures was **Betty Holberton** (née Snyder) — one of [[The first programmers|the original ENIAC six]] — who helped edit the specification.
## What it looks like
COBOL's fixed columns are a fossil of the [[Punched card|punch card]] — columns 1–6 for sequence numbers, 7 for indicators, then the A and B margins — a layout that survives in source files to this day. Every program wears the same four-division skeleton:
```text
       IDENTIFICATION DIVISION.
       PROGRAM-ID. PAYDAY.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  EMPLOYEE-RECORD.
           05  EMP-NAME      PIC X(30).
           05  EMP-HOURS     PIC 9(2)V99.
           05  EMP-RATE      PIC 9(3)V99.
           05  EMP-GROSS     PIC 9(5)V99.
       PROCEDURE DIVISION.
           COMPUTE EMP-GROSS = EMP-HOURS * EMP-RATE
           DISPLAY "PAY " EMP-NAME ": " EMP-GROSS
           STOP RUN.
```
The `PIC` clauses describe data the way accountants describe it — `9(5)V99` means five digits, a decimal point, two more — because the language was built to mirror the paperwork it replaced. `DIVISION`, `SECTION`, `PERFORM`, `MOVE`, `COMPUTE`: COBOL wanted to read like English so that business managers could read programs. Whether it achieved that is debated; that it was *writable* by an army of business programmers is not.
## The personality
COBOL gave the world `ADD X TO Y GIVING Z`, the genuinely cursed `ALTER` statement (which rewrote jump targets at runtime — self-modifying flow by design), and `GO TO ... DEPENDING ON`. It also gave the world Dijkstra's most famous insult: "*The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.*" The programmers who kept the world's payroll running were unbothered.
The best artifact of the era's mood is Hopper's own trophy: a **tombstone** engraved "COBOL," presented to her by DoD official Charles Phillips in the 1960s when the language was being written off. She kept it in her office and pointed at it whenever someone predicted COBOL's death. The stone outlived most of its eulogists.
[[File:grace-hopper.jpg|right|240px|[[Grace Hopper]] — COBOL's champion and the builder of FLOW-MATIC, its ancestor]]
## Why it survived
[[File:cobol-poster-1969.jpg|left|240px|A 1969 COBOL teaching poster — the language they said would die, ten years in]]
- **It was mandated.** DoD procurement required conformance-tested COBOL — every vendor had to implement it, everywhere.
- **It was readable enough for business.** Not literature, but a clerk could follow it — and a program that can be audited can be trusted with money.
- **The data description fit the domain.** Records, files, fixed-point decimal arithmetic — exactly what ledgers need, nothing they don't.
- **The installed base calcified it.** Once payroll runs in COBOL, the cost of rewriting dwarfs the cost of keeping a COBOL shop alive. There are an estimated hundreds of billions of lines still in production.
- **The systems are *critical*.** In 2020, when US states' unemployment systems buckled under COVID claims, the emergency call went out for COBOL programmers — sixty-year-old software carrying a modern crisis.
## COBOL and ALB
**AlbCOBOL** — a COBOL-85 subset compiler in development for the ALB toolchain — compiles COBOL source through ALB to FASM and C backends, producing native executables. It is in active development and testing; simple programs already compile and run. It has not yet been released.
## See also
- [[History of Programming]] · [[FORTRAN]] · [[LISP]] · [[ALGOL]]
- [[The first programmers]] — Betty Holberton helped edit the COBOL spec
- [[Punched card]] · [[IBM]]
- [[Bletchley Park]]
+
## References
+
+
1. Beyer, Kurt W. *Grace Hopper and the Invention of the Information Age* (MIT Press, 2009).
+
2. "Initial Specifications for a Common Business Oriented Language (COBOL)" — CODASYL report, U.S. Department of Defense (1960).
+
3. Sammet, Jean E. *Programming Languages: History and Fundamentals* (Prentice-Hall, 1969).
+
[[Category:Languages]]
[[Category:History]]
[[Category:Programming]]