FLOW-MATIC (originalmente chamada Business Language version 0, abreviado B-0) é a primeira linguagem de programação assemelhada ao inglês (alto nível).Sammet (1969) p. 316 Foi criada e especificada a partir de 1955 por Grace Hopper no Remington Rand para ser usada no primeiro computador comercial UNIVAC I. Esta foi uma das maiores influências na criação da linguagem COBOL.

Desenvolvimento Hopper percebeu que a notação matemática nas linguagens programação não era muito cômoda. No final de 1953, ela propôs que o processamento de dados devem ser expressas usando palavras chaves da língua inglesa, mas a então administração do Rand considerou a ideia inviável. No começo de 1955, ela e sua equipe escreveram uma especificação para a tal linguagem de programação e fizeram um protótipo.Hopper (1978) p. 16. O compilador de FLOW-MATIC foi publicado ao público em 1958 e completado em 1959.

Inovações e influência FLOW-MATIC foi a primeira linguagem de programação a usar expressões com palavras chaves da língua inglesa.

Também foi a primeira a distinguir de forma nítida o processamento realizado pelo computador com as operações escritas no código fonte.

FLOW-MATIC foi a maior influência para a criação do COBOL.

Exemplo de programa Código simples de um programa escrito em FLOW-MATIC:Sperry Rand (1957) p. 7.Sammet (1969) p. 323.

(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 . (10) READ ITEM B ; IF END OF DATA GO TO OPERATION 12 . (11) JUMP TO OPERATION 1 . (12) SET OPERATION 9 TO GO TO OPERATION 2 . (13) JUMP TO OPERATION 2 . (14) TEST PRODUCT-NO (B) AGAINST ZZZZZZZZZZZZ ; IF EQUAL GO TO OPERATION 16 ; OTHERWISE GO TO OPERATION 15 . (15) REWIND B . (16) CLOSE-OUT FILES C ; D . (17) STOP . (END) Note que essa amostra apenas inclui a parte de instruções do programa, a seção do . O registro dos campos e foram definidas na seção do , que não usa uma sintaxe baseada na língua inglesa.Hopper (1978) p. 18.

Bibliografia

Categoria:Linguagens de programação Categoria:Linguagens de programação procedurais Categoria:Linguagens de programação criadas na década de 1950