FLOW-MATIC was the first programming language to use English-like statements for business data processing. Grace Hopper's team at Remington Rand began work on it in 1955 under the name B-0, for Business Language version 0, and it reached UNIVAC customers in the late 1950s. To understand how FLOW-MATIC influenced the design of COBOL, it helps to know that when the COBOL committee met in 1959, FLOW-MATIC was the only English-like business language already running in production.
Origins: Grace Hopper's argument for English
Grace Hopper had joined the Eckert–Mauchly Computer Corporation in 1949, which became part of Remington Rand in 1950. In 1952 she produced the A-0 system, an early compiler-like tool that linked mathematical subroutines, followed by A-2 and the algebraic MATH-MATIC. Her next goal was more radical. She argued that most computer users in business were not mathematicians and should be able to write programs with words rather than symbols.
Management was sceptical. By Hopper's own later account, her team demonstrated that the compiler could just as easily accept keywords in French or German, which unsettled executives more than it reassured them. The project went ahead anyway, and B-0 was renamed FLOW-MATIC as it was readied for release on the UNIVAC I and UNIVAC II.
Design and key features
FLOW-MATIC was built for the realities of commercial data processing: files on tape, records with named fields, and repeated reading, comparing and writing.
- English verbs and nouns such as COMPARE, TRANSFER, READ-ITEM, WRITE-ITEM and JUMP TO.
- Numbered operations, with control flow expressed as jumps to operation numbers.
- Separate data descriptions. The layout of files and records was defined apart from the procedure, so the same logic could work with a revised record layout.
- Named fields with file qualifiers, such as
PRODUCT-NO (A), meaning the product number field in file A. - Hyphenated multi-word names, a convention that carried straight into COBOL.
A FLOW-MATIC program excerpt
The following is an excerpt from a widely reproduced FLOW-MATIC sample program of the late 1950s. It matches an inventory file against a price file and writes priced and unpriced records to separate outputs:
(0) INPUT INVENTORY FILE-A PRICE FILE-B ; OUTPUT PRICED-INV FILE-C
UNPRICED-INV FILE-D ; HSP D .
(1) COMPARE PRODUCT-NO (A) WITH PRODUCT-NO (B) ; IF GREATER GO TO
OPERATION 10 ; IF EQUAL GO TO OPERATION 5 ; OTHERWISE GO TO
OPERATION 2 .
(2) TRANSFER A TO D .
(3) WRITE-ITEM D .
(4) JUMP TO OPERATION 8 .
(5) TRANSFER A TO C .
(6) MOVE UNIT-PRICE (B) TO UNIT-PRICE (C) .
(7) WRITE-ITEM C .
(8) READ-ITEM A ; IF END OF DATA GO TO OPERATION 14 .
(9) JUMP TO OPERATION 1 .
Even without knowing the language, a reader can follow the logic. That readability, aimed at managers and auditors as much as programmers, was the point.
How FLOW-MATIC influenced the design of COBOL
In May 1959, a meeting at the Pentagon sponsored by the U.S. Department of Defense set up CODASYL, the Conference on Data Systems Languages, to create a common business language that would run on machines from different manufacturers. Its short-range committee had two main existing designs to draw on: FLOW-MATIC, which was running, and IBM's COMTRAN (Commercial Translator), which existed largely as a specification. Hopper served as a technical adviser to the effort.
COBOL took several of its defining traits from FLOW-MATIC:
- English-language statements built around verbs such as MOVE, COMPARE-style conditions and READ and WRITE operations.
- The strict separation of data description from procedure, which became COBOL's DATA DIVISION and PROCEDURE DIVISION.
- Long, hyphenated data names intended to be self-documenting.
- A target audience of business programmers rather than mathematicians.
COMTRAN contributed other features, notably the picture clause for describing data formats, and the committee added ideas of its own, but FLOW-MATIC's style is visible throughout COBOL-60.
Is FLOW-MATIC still used?
No. FLOW-MATIC was replaced by COBOL in the early 1960s, and the UNIVAC machines it ran on were retired long ago. It survives through COBOL, which is still running in banks, insurers and government agencies.
Looking at how FLOW-MATIC influenced the design of COBOL makes one thing clear: Hopper's insistence that business programs could be written in plain English words was not a side detail. It became the founding principle of the most widely deployed business language ever written.
Frequently asked questions
Who created the FLOW-MATIC programming language?
FLOW-MATIC was developed by a team at Remington Rand's UNIVAC division led by Grace Hopper. Work began in 1955 under the name B-0, and the language was released to UNIVAC customers in the late 1950s.
Was FLOW-MATIC the first English-like programming language?
It is generally recognised as the first English-like language for business data processing to be implemented and used. It ran on the UNIVAC I and UNIVAC II before COBOL existed.
Is COBOL just a newer version of FLOW-MATIC?
No. COBOL was designed by the CODASYL committee and drew on several sources, especially FLOW-MATIC and IBM's COMTRAN. FLOW-MATIC was its most important working model, but COBOL was a new language intended to run on many manufacturers' machines.







