Hopper had found that business data processing customers were uncomfortable with mathematical notation: In late 1953, she proposed that data processing problems should be expressed using English keywords, but Rand management considered the idea infeasible. In early 1955, she and her team wrote a specification for such a programming language and implemented a prototype. The FLOW-MATIC compiler became publicly available in early 1958 and was substantially complete in 1959.
Defining Input & Output Files and printed output in advance, separated into INPUT files, OUTPUT files and High Speed Printer outputs. ; ; .
Qualification of data-names.
clause on file operations.
Figurative constant .
Dividing the program into sections, separating different parts of the program. Flow-Matic sections included ', ', and .
Sample program
A sample FLOW-MATIC program: INPUT INVENTORY FILE-A PRICE FILE-B ; OUTPUT PRICED-INV FILE-C UNPRICED-INV FILE-D ; HSP D. COMPARE PRODUCT-NO WITH PRODUCT-NO ; IF GREATER GO TO [|OPERATION 10] ; IF EQUAL GO TO [|OPERATION 5] ; OTHERWISE GO TO [|OPERATION 2]. TRANSFER A TO D. WRITE-ITEM D. JUMP TO [|OPERATION 8]. TRANSFER A TO C. MOVE UNIT-PRICE TO UNIT-PRICE . WRITE-ITEM C. READ-ITEM A ; IF END OF DATA GO TO [|OPERATION 14]. JUMP TO [|OPERATION 1]. READ-ITEM B ; IF END OF DATA GO TO [|OPERATION 12]. JUMP TO OPERATION 1. SET OPERATION 9 TO GO TO OPERATION 2. JUMP TO OPERATION 2. TEST PRODUCT-NO AGAINST ; IF EQUAL GO TO [|OPERATION 16] ; OTHERWISE GO TO [|OPERATION 15]. REWIND B. CLOSE-OUT FILES C ; D. STOP. Sample Notes
Note that this sample includes only the executable statements of the program, the section. The record fields and would have been defined in the section, which did not use English-like syntax.
Files are referred to by the letter at the end of the FILE-LETTER. Example: FILE-A is referred to later just by A and is for ease of reference in following code.
Operations are numbered in an unbroken sequence from 0..n and are performed in that order unless a statement to the contrary is reached/made .
The highest numbered operation is the one that stops the program.
A much more detailed overview of FLOW-MATIC is available in the manual entitled, FLOW-MATIC PROGRAMMING SYSTEM