Articulo de referencia

FLUJO-MÁTICO

FLOW-MATIC , originalmente conocido como B-0 ( Business Language versión 0 ), fue el primer lenguaje de procesamiento de datos similar al inglés . Fue desarrollado para la UNIVA...

FLOW-MATIC , originalmente conocido como B-0 ( Business Language versión 0 ), fue el primer lenguaje de procesamiento de datos similar al inglés . Fue desarrollado para la UNIVAC I en Remington Rand bajo la dirección de Grace Hopper entre 1955 y 1959, y contribuyó a dar forma al desarrollo de COBOL .

Desarrollo

Hopper había descubierto que los clientes de procesamiento de datos empresariales se sentían incómodos con la notación matemática : [ 1 ]

Antes era profesor de matemáticas. En aquel entonces, me di cuenta de que había un número considerable de estudiantes que no podían aprender matemáticas. Me encomendaron la tarea de facilitar a los empresarios el uso de nuestros ordenadores. Descubrí que no se trataba de si podían aprender matemáticas o no, sino de si querían. […] Decían: «Olvídense de esos símbolos; no sé qué significan, no tengo tiempo para aprenderlos». Sugiero que, para quienes pretenden que los profesionales del procesamiento de datos utilicen símbolos matemáticos, intenten primero enseñárselos a vicepresidentes, coroneles o almirantes. Les aseguro que yo lo intenté.

A finales de 1953, propuso que los problemas de procesamiento de datos se expresaran mediante palabras clave en inglés, pero la dirección de Rand consideró la idea inviable. A principios de 1955, ella y su equipo redactaron una especificación para dicho lenguaje de programación e implementaron un prototipo. [ 2 ] El compilador FLOW-MATIC se hizo público a principios de 1958 y estaba prácticamente terminado en 1959. [ 3 ]

Innovaciones e influencia

El sistema de Laning y Zierler fue el primer lenguaje de programación en analizar fórmulas algebraicas. Cuando Hopper conoció ese lenguaje en 1954, cambió el rumbo de su trabajo. [ 4 ] FLOW-MATIC fue el primer lenguaje de programación en expresar operaciones usando sentencias similares al inglés en lugar de símbolos sin significado. [ 3 ] También fue el primer sistema en separar claramente la descripción de los datos de las operaciones realizadas sobre ellos. Su lenguaje de definición de datos , a diferencia de sus sentencias ejecutables, no era similar al inglés; en cambio, las estructuras de datos se definían rellenando formularios preimpresos. [ 3 ]

FLOW-MATIC y su descendiente directo AIMACO dieron forma a COBOL , [ 5 ] que incorporó varios de sus elementos:

  • Definir de antemano los archivos de entrada, los archivos de salida y la salida impresa, separados en archivos de ENTRADA, archivos de SALIDA y salidas de impresora de alta velocidad (HSP). INPUT <FILE-NAME> <FILE-LETTER>; OUTPUT <FILE-NAME> <FILE-LETTER>; HSP <FILE-LETTER>. [ 6 ]
  • Calificación de nombres de datos ( INo OFcláusula).
  • IF END OF DATA (AT END)cláusula sobre READoperaciones de archivos.
  • Constante figurativa ZERO(originalmente ZZZ...ZZZ, donde el número de Zs indicaba precisión).
  • Dividir el programa en secciones, separando las diferentes partes del mismo. Las secciones de Flow-Matic incluían Computer(División de Entorno), Directory(División de Datos) y Compiler(División de Procedimientos).

Código de ejemplo

Un ejemplo de programa FLOW-MATIC: [ 7 ] [ 8 ]

(0 ) ENTRADA ARCHIVO DE INVENTARIO-A ARCHIVO DE PRECIOS-B; SALIDA ARCHIVO DE INVENTARIO CON PRECIO-C ARCHIVO DE INVENTARIO SIN PRECIO ARCHIVO-D; HSP D. (1 ) COMPARAR EL PRODUCTO NÚMERO (A) CON EL PRODUCTO NÚMERO (B); SI ES MAYOR, PASAR A LA OPERACIÓN 10; SI SON IGUALES, IR A LA OPERACIÓN 5; DE LO CONTRARIO, IR A LA OPERACIÓN 2. (2 ) TRANSFERIR A A D. (3 ) ESCRIBIR-ELEMENTO D. (4 ) SALTAR A LA OPERACIÓN 8. (5 ) TRANSFERIR A A C. (6 ) MOVER EL PRECIO UNITARIO (B) AL PRECIO UNITARIO (C). (7 ) ESCRIBIR-ELEMENTO C. (8 ) LEER-ELEMENTO A; SI FIN DE DATOS IR A LA OPERACIÓN 14. (9 ) SALTAR A LA OPERACIÓN 1. (10 ) LEER-ELEMENTO B; SI FIN DE DATOS IR A LA OPERACIÓN 12. (11 ) SALTAR A LA OPERACIÓN 1. (12 ) ESTABLECER LA OPERACIÓN 9 PARA QUE VAYA A LA OPERACIÓN 2. (13 ) SALTAR A LA OPERACIÓN 2. (14 ) COMPARAR EL PRODUCTO N.º (B) CON ; SI SON IGUALES, PASAR A LA OPERACIÓN 16; DE LO CONTRARIO, PASE A LA OPERACIÓN 15. (15 ) REBOBINAR B. (16 ) ARCHIVOS DE CIERRE C; D. (17 ) ALTO. (FIN)

Notas de ejemplo

  1. Nótese que esta muestra incluye solo las instrucciones ejecutables del programa, la COMPILERsección. Los campos de registro PRODUCT-NOy UNIT-PRICEse habrían definido en la DIRECTORYsección, que ( como se indicó anteriormente ) no utilizaba una sintaxis similar al inglés. [ 9 ]
  2. Los archivos se identifican mediante la letra que aparece al final de FILE-LETTER. Por ejemplo: FILE-A se denomina más adelante simplemente A, para facilitar su referencia en el código siguiente.
  3. Las operaciones se numeran en una secuencia ininterrumpida del 0 al n y se realizan en ese orden a menos que se alcance o se haga (ejecute) una instrucción en contrario (JUMP, etc.).
  4. La operación con el número más alto es la que detiene el programa.
  5. Una descripción mucho más detallada de FLOW-MATIC está disponible en el manual titulado FLOW-MATIC PROGRAMMING SYSTEM [ 10 ].

Notas

  1. Hopper (1959) pág. 198.
  2. Hopper (1978) pág. 16.
  3. 1 2 3 Sammet (1969) pág. 316
  4. Beyer, Kurt (10 de febrero de 2012). «10». Grace Hopper y la invención de la era de la información . MIT Press. ISBN 9780262517263.
  5. Sammet (1978) pág. 204.
  6. Remington Rand Univac, una división de Sperry Rand Corporation (1957). SISTEMA DE PROGRAMACIÓN FLOW-MATIC, pág. 30.
  7. Sperry Rand (1957) pág. 7.
  8. Sammet (1969) pág. 323.
  9. Hopper (1978) pág. 18.
  10. Remington Rand Univac, una división de Sperry Rand Corporation (1957). SISTEMA DE PROGRAMACIÓN FLOW-MATIC

Referencias

  • Hopper, Grace (1978). Discurso principal, Historia de los lenguajes de programación I. ACM. págs.  16-20. ISBN 0-12-745040-8
  • Hopper, Grace (1959). “Programación automática: estado actual y tendencias futuras”, Mecanización de los procesos de pensamiento , Simposio 10 del Laboratorio Nacional de Física. Her Majesty's Stationery Office. pp. 155–200, citado en Knuth, Donald ; Trabb Pardo, Luis (agosto de 1976). El desarrollo temprano de los lenguajes de programación (informe técnico). Departamento de Ciencias de la Computación, Facultad de Humanidades y Ciencias, Universidad de Stanford . Recuperado el 19 de marzo de 2016 .
  • Sammet, Jean (1969). Lenguajes de programación: historia y fundamentos . Prentice-Hall. págs.  316-324. ISBN 0-13-729988-5
  • Sammet, Jean (1978). «La historia temprana de COBOL», Historia de los lenguajes de programación I. ACM. págs.  199-243. ISBN 0-12-745040-8
  • Sperry Rand Corporation (1957) Presentación de un nuevo lenguaje para la programación automática: Univac Flow-Matic
  • Remington Rand Univac, una división de Sperry Rand Corporation (1957). SISTEMA DE PROGRAMACIÓN FLOW-MATIC FLOW-MATIC_Programming_System_1958.pdf