FLOW-MATIC

FLOW-MATIC（フローマティック）は、世界初の英語に近い表記のデータ処理用プログラミング言語である。元の名称はB-0(Business Language version 0)であった。1955年から1959年にかけて、レミントンランドに所属していたグレース・ホッパーによってUNIVAC I用に開発された。この言語は、COBOLの開発に大きな影響を与えた。
開発.
ホッパーは、ビジネスデータ処理を行う顧客が数学的な表記法を不快に感じていることに気づいた。そのことを次のように書き残している。
1953年後半、彼女はデータ処理の問題を英語のキーワードを使用して表現することを提案したが、レミントンランド社の管理者はこの考えは実現不可能だと考えた。1955年初頭、彼女とそのチームはそのようなプログラミング言語の仕様を書き、プロトタイプを実装した。FLOW-MATICのコンパイラは1958年初頭に公開され、1959年にほぼ完成した。
革新と影響.
第一に、FLOW-MATICは、世界初のプログラミング言語である。
第二に、FLOW-MATICは、データの記述とその操作を明確に分離した最初のシステムである。実行可能な文とは異なり、データ定義言語は英語に似ていなかった。データ構造は事前に印刷されたフォームに記入することによって定義された。
FLOW-MATICは、COBOLの設計に大きな影響を与えた。FLOW-MATICの要素のうち、以下に掲げるものがCOBOLに組み込まれた。
サンプルプログラム.
マーケティングパンフレットに記載されたFLOW-MATICのサンプルプログラムを以下に掲げる。
 () INPUT INVENTORY FILE-A PRICE FILE-B ; OUTPUT PRICED-INV FILE-C UNPRICED-INV
 FILE-D ; HSP D .
 () 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 .
 () TRANSFER A TO D .
 () WRITE-ITEM D .
 () JUMP TO OPERATION 8 .
 () TRANSFER A TO C .
 () MOVE UNIT-PRICE (B) TO UNIT-PRICE (C) .
 () 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 (B) AGAINST ; IF EQUAL GO TO OPERATION 16 ;
 OTHERWISE GO TO OPERATION 15 .
 () REWIND B .
 () CLOSE-OUT FILES C ; D .
 () STOP . (END)
このサンプルには、プログラムの実行可能文、すなわち節のみであることに注意。データ部およびは節で定義されるが、（前述のように）英語のような構文は使用していない。