Saltar para o conteúdo

Flow-Matic

Origem: Wikipédia, a enciclopédia livre.
FLOW-MATIC
Paradigma imperativa
Surgido em 1955 (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

  1. a b c d Sammet (1969) p. 316
  2. Wexelblat, Richard L.(Editor) (1981). History of Programming Languages. New York: Academic Press. p. 17-18. 758 páginas. 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.
  • SAMMET, Jean E (1969). Programming Languages: History and Fundamentals. Englewood Cliffs, New Jersey: Prentice Hall. 785 páginas. 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.