Flow-Matic
FLOW-MATIC | |
---|---|
Paradigma | imperativa |
Surgido em | 1955 |
Criado por | Remington Rand, Grace Hopper |
Influenciou | COBOL |
Plataforma | UNIVAC I |
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
[editar | editar código-fonte]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
[editar | editar código-fonte]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
[editar | editar código-fonte]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
Bibliografia
[editar | editar código-fonte]- SAMMET, Jean E (1969). Programming Languages: History and Fundamentals. Englewood Cliffs, New Jersey: Prentice Hall. 785 páginas. ISBN 0-13-729988-5