FLOW-MATIC (originalmente chamada Business Language version 0, abreviado B-0) é a primeira linguagem de programação assemelhada ao inglês (alto nível).[1] 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.[2]
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.[3] O compilador de FLOW-MATIC foi publicado ao público em 1958 e completado em 1959.[1]
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.[1]
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. [1]
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:[4][5]
(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 COMPILADOR
. O registro dos campos PRODUCT-NO
e UNIT-PRICE
foram definidas na seção do DIRECTORY
, que não usa uma sintaxe baseada na língua inglesa.[6]
Referências
- ↑ a b c d Sammet (1969) p. 316
- ↑ Wexelblat, Richard L.(Editor) (1981). History of Programming Languages. New York: Academic Press. p. 17-18. 758 páginas. ISBN 0-12-745040-8
- ↑ Hopper (1978) p. 16.
- ↑ Sperry Rand (1957) p. 7.
- ↑ Sammet (1969) p. 323.
- ↑ Hopper (1978) p. 18.
Bibliografia
- SAMMET, Jean E (1969). Programming Languages: History and Fundamentals. Englewood Cliffs, New Jersey: Prentice Hall. 785 páginas. ISBN 0-13-729988-5