COBOL
COBOL was designed in 1959 under the leadership of the U.S. Department of Defense through the CODASYL conference. The central figure in its design was naval officer and computer scientist Grace Hopper. Her conviction that "programs should be readable like English" is deeply embedded in COBOL's syntax. More than 60 years after its creation, COBOL continues to run the core systems of banks, insurance companies, and government agencies around the world.
Origin of the Name
COBOL stands for COmmon Business-Oriented Language. Every word in the name carries intent:
- COmmon — Designed to run the same code across computers from different manufacturers
- Business-Oriented — Explicitly targeted at business data processing — finance, payroll, inventory, government records — rather than scientific computing
- Language — A language readable by business staff, not just by programmers
It is unusual for a programming language to declare its intended audience in its name. COBOL did exactly that from the start.
1959: The Birth of COBOL
In the late 1950s, American businesses and government agencies were beginning to adopt computers. But a serious problem emerged: IBM, UNIVAC, Honeywell, and other manufacturers each used their own programming languages. When an organization bought a new computer, all existing programs had to be rewritten from scratch. For large-scale operations like payroll processing or the national census, the cost of discarding programs every time hardware was replaced was enormous.
In May 1959, the U.S. Department of Defense convened the CODASYL (Conference on Data Systems Languages) to address this problem. Representatives from multiple computer manufacturers worked together to design a common language for business data processing. The first specification was completed within a few months, and in 1960 the first COBOL compilers were running.
Grace Hopper's Role
Grace Murray Hopper (1906–1992) was the central figure in COBOL's design. She earned a PhD in mathematics from Yale and programmed the Harvard Mark I computer during World War II. After the war, she remained in the Navy and eventually rose to the rank of Rear Admiral.
Hopper believed that programs should be readable like English. Instead of cryptic symbols, code should read like the instructions a manager or accountant would naturally understand — bridging the gap between people with domain knowledge and engineers.
| Hopper's Philosophy | How It Appears in COBOL |
|---|---|
| Programs readable in English | ADD 5 TO WS-TOTAL. — reads as an English imperative sentence |
| Accessible to business staff | Long, meaningful variable names like CUSTOMER-ACCOUNT-BALANCE are standard practice |
| Platform independence | Same code runs on different manufacturers' computers — the core design goal |
| Accurate calculation | Decimal arithmetic (PACKED-DECIMAL) avoids floating-point errors that are fatal in financial systems |
The Origin of "Bug"
The word "bug" as a computing term became established partly through Hopper's records. In 1947, a moth was found lodged in a relay of the Harvard Mark II computer. Hopper's team taped the moth into the log book and wrote "First actual case of bug being found." That record is preserved at the Smithsonian Institution.
COBOL Lineage
Major Milestones
| Year | Event |
|---|---|
| 1947 | Grace Hopper's team finds a moth lodged in a Mark II relay. The incident contributes to popularizing "bug" as a computing term |
| 1955 | Hopper designs FLOW-MATIC — one of the first languages to use English-like syntax for data processing. The direct predecessor of COBOL |
| 1959 | U.S. Department of Defense convenes CODASYL. Representatives from IBM, UNIVAC, Honeywell, and others work together to design a cross-manufacturer common business language |
| 1960 | First COBOL compilers operational. The same program runs on both an RCA 501 and a UNIVAC II — demonstrating portability |
| 1968 | ANSI standardizes COBOL (COBOL-68). Standardization further strengthens portability across vendors |
| 1974 | COBOL-74 revision. Enhanced file and table processing capabilities |
| 1985 | COBOL-85 revision. Structured programming constructs (PERFORM VARYING, etc.) strengthened, incorporating ideas from newer languages |
| 2002 | COBOL 2002 revision. Object-oriented programming features added (classes, methods, inheritance) |
| 2014 | COBOL 2014 revision. Built-in XML processing support added |
| 2023 | COBOL 2023 revision. Enhanced JSON support and continued modernization |
| Present | Running in the core systems of major banks, securities firms, insurance companies, and government agencies worldwide. Demand for COBOL programmers continues to be reported annually |
Comparison with Contemporaries — Why COBOL Was Chosen
| Language / Approach | Era | Characteristics | Difference from COBOL |
|---|---|---|---|
| Assembly | 1940s–50s | Machine-specific. Fast but not portable | COBOL prioritized portability and readability over raw speed |
| FLOW-MATIC | 1955– | Hopper's English-like language — a pioneer | COBOL's direct predecessor. COBOL consolidated ideas from multiple languages including FLOW-MATIC |
| FORTRAN | 1957– | Scientific and numerical computing. Strong at mathematics | COBOL targets business processing: report generation, file handling, string processing |
| COBOL | 1959– | Common business language. English-like syntax, decimal arithmetic | 60+ years of production use in finance, insurance, and government |
COBOL Today
COBOL is often described as a relic of the past, but the reality is different:
- Running in the core systems of major banks, securities firms, and insurance companies worldwide
- A substantial portion of global credit card and ATM transactions are processed by COBOL systems (exact figures vary by source, but the scale is consistently reported as large)
- Active in the systems of the U.S. Social Security Administration, the IRS, and state government agencies
- During the COVID-19 pandemic, U.S. state unemployment systems hit processing limits, and emergency calls for COBOL programmers were widely reported
Three structural reasons explain COBOL's persistence. First, accurate decimal arithmetic: COBOL's PACKED-DECIMAL type avoids the floating-point errors that are fatal in financial calculations. Second, strong backward compatibility: code written in the 1970s compiles and runs on modern IBM z/OS systems without modification. Third, migration cost: rewriting tens of millions of lines of core business logic in another language is a multi-year, multi-billion-dollar project — making it an impractical choice for most organizations.
Common Misconceptions
"COBOL is no longer used"
Large volumes of COBOL systems remain in active production. The question is not "would anyone choose COBOL for a new project?" but "who will maintain the existing COBOL systems?" The retirement of experienced COBOL programmers and the shortage of successors is an ongoing industry concern.
"COBOL is slow"
Enterprise COBOL on IBM z/OS is compiled with sophisticated optimizers and runs on hardware built for high-throughput transaction processing. "COBOL = slow" is a misconception based on unfamiliarity rather than measurement.
"There is no point in learning COBOL"
For work in financial systems, insurance, or government IT, the ability to read and write COBOL has practical market value. Emergency hiring of COBOL programmers was reported in multiple U.S. states during the 2020 pandemic response, when aging unemployment systems reached their limits.
Related Terms
- IDENTIFICATION DIVISION — The division that identifies the program
- DATA DIVISION — The division where data (variables) are defined
- PROCEDURE DIVISION — The division containing the actual processing logic
- COBOL Dictionary — Entry Page — DIVISION structure, decimal arithmetic, and learning roadmap