Flow-Matic

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
FLOW-MATIC
Paradigma imperativa
Surgido em 1955 (1955)
Criado por Remington Rand, Grace Hopper
Influenciou COBOL
Plataforma UNIVAC I

FLOW-MATIC, originalmente chamada B-0 (Busin ess Language version 0), foi a primeira linguagem de programação assemelhada ao inglês.[1] Foi criada e especificada a partir de 1955 por Grace Hopper no Remington Rand para ser usada pela UNIVAC I. Foi uma das maiores influências na criação de 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 distingui de forma nítida as operações escritas no código com o que o processamento realizado pelo computador. [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 <nowiki>COMPILADOR</nowiki>. O registro dos campos <nowiki>PRODUCT-NO</nowiki> e <nowiki>UNIT-PRICE</nowiki> foram definidas na seção do <nowiki>DIRECTORY</nowiki>, que não usa uma sintaxe baseada na língua inglesa.[6]

Referências

  1. a b c d Sammet (1969) p. 316
  2. Wexelblat, Richard L.(Editor). History of Programming Languages. New York: Academic Press, 1981. 758 pp. p. 17-18. ISBN 0-12-745040-8
  3. Hopper (1978) p. 16.
  4. Sperry Rand (1957) p. 7.
  5. Sammet (1969) p. 323.
  6. Hopper (1978) p. 18.

Bibliografia[editar | editar código-fonte]

  • SAMMET, Jean E. Programming Languages: History and Fundamentals. Englewood Cliffs, New Jersey: Prentice Hall, 1969. 785 pp. ISBN 0-13-729988-5


Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.