FLOW-MATIC
FLOW-MATIC, conocido originalmente como B-0 ( Business Language version 0 ), fue el primer lenguaje de programación que expresó operaciones utilizando declaraciones similares al inglés. También fue el primer sistema en separar claramente la descripción de los datos de las operaciones en ellos. Su lenguaje de definición de datos, a diferencia de sus declaraciones ejecutables, no era como el inglés; más bien, las estructuras de datos se definieron llenando formularios preimpresos. Lo desarrolló para el UNIVAC I, en Remington Rand, el comité que había compilado el diseño del lenguaje Compran. Fue desarrollado para UNIVAC I en Remington Rand bajo la dirección de Grace Hopper entre 1955 y 1959, y ayudó a dar forma al desarrollo de COBOL. Robert William Bemer y Grace Murray Hopper establecieron el concepto de lenguajes de programación basados en palabras del lenguaje natural; también desarrollaron los primeros compiladores de la historia, el Sistema A-0 Math Matic y el B-0 FLOW-MATIC. Posteriormente, en 1960, Bemer presentó su primera versión del lenguaje COBOL (Common Business-Oriented Language).
Hopper descubrió que los clientes de procesamiento de datos comerciales se sentían incómodos con la notación matemática. A finales de 1953, propuso que los problemas de procesamiento de datos deberían expresarse utilizando palabras clave en inglés, pero la dirección de Rand consideró la idea inviable. A principios de 1955, ella y todo su equipo escribieron una especificación para dicho lenguaje de programación e implementaron un prototipo. El compilador FLOW-MATIC se puso a disposición del público a principios de 1958 y se completó sustancialmente en 1959.
Innovaciones e influencia
editarFLOW-MATIC fue el primer lenguaje de programación que expresó operaciones utilizando declaraciones similares al inglés. También fue el primer sistema en separar claramente la descripción de los datos de las operaciones con ellos. Su lenguaje de definición de datos, a diferencia de sus declaraciones ejecutables, no era como el inglés; más bien, las estructuras de datos se definieron llenando formularios preimpresos. [3]
FLOW-MATIC y su descendiente directo, AIMACO, formaron COBOL, que incorporó varios de sus elementos:
Definición de archivos de entrada y salida y de salida impresa por adelantado, separados en archivos INPUT, archivos OUTPUT y salidas de impresora de alta velocidad (HSP). INPUT <FILE-NAME> <FILE-LETTER>; OUTPUT <FILE-NAME> <FILE-LETTER>; HSP <FILE-LETTER>. [5] Calificación de nombres de datos ( INo OFcláusula). IF END OF DATA (AT END) cláusula sobre READoperaciones de archivo. Constante figurativa ZERO (originalmente ZZZ...ZZZ, donde el número de Z indica la precisión). Dividir el programa en secciones, separando diferentes partes del programa. Las secciones de Flow-Matic incluyeron Computer(División de medio ambiente), Directory(División de datos) y Compiler(División de procedimientos).
Programa de muestra
editarUn ejemplo de programa FLOW-MATIC:[1][2]
(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 ; IF EQUAL GO TO OPERATION 16 ;OTHERWISE GO TO OPERATION 15 . (15) REWIND B . (16) CLOSE-OUT FILES C ; D . (17) STOP . (END)
Nota del ejemplo
editarUna descripción mucho más detallada de FLOW-MATIC está disponible en el manual titulado SISTEMA DE PROGRAMACIÓN FLOW-MATIC[3]
Notas
editarReferencias
editar- Hopper, Grace (1978). Keynote Address, History of Programming Languages I. ACM. pp. 16–20. ISBN 0-12-745040-8
- Hopper, Grace (1959). “Automatic programming: Present status and future trends”, Mechanisation of Thought Processes, National Physical Laboratory Symposium 10. Her Majesty's Stationery Office. pp 155–200.
|first2=Luis|last2=Trabb Pardo |title=The Early Development of Programming Languages |date=August 1976 |publisher=Computer Science Department, School of Humanities and Sciences, Stanford University |url=https://archive.org/details/DTIC_ADA032123/page/n29 |access-date=2016-03-19 }}
- Sammet, Jean (1969). Programming Languages: History and Fundamentals. Prentice-Hall. p. 316–324. ISBN 0-13-729988-5
- Sammet, Jean (1978). "The Early History of COBOL", History of Programming Languages I. ACM. pp. 199–243. ISBN 0-12-745040-8
- Sperry Rand Corporation (1957) Introducing a New Language for Automatic Programming: Univac Flow-Matic
- Remington Rand Univac a Division of Sperry Rand Corporation (1957). FLOW-MATIC PROGRAMMING SYSTEMFLOW-MATIC_Programming_System_1958.pdf