Skip to content
ALB Wiki

COBOL

This is an old revision of this page — revision 1 (2026-10-10 00:21:48 UTC). It may differ from the current revision.

COBOL — COmmon Business-Oriented Language — 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: Hopper's FLOW-MATIC (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 original ENIAC six — who helped edit the specification.

What it looks like

COBOL's fixed columns are a fossil of the 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:

       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.

Grace Hopper — COBOL's champion and the builder of FLOW-MATIC, its ancestor
Grace Hopper — COBOL's champion and the builder of FLOW-MATIC, its ancestor

Why it survived

A 1969 COBOL teaching poster — the language they said would die, ten years in
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

Categories: History · Languages · Programming
This page was last edited 2026-10-10 00:21:48 UTC by Anonymous. What links here