FLOW-MATIC
FLOW-MATIC, originalmente conocido como B-0 (Business Language version 0), fue el primer lenguaje de procesamiento de datos similar al inglés.. Fue desarrollado para UNIVAC I en Remington Rand bajo Grace Hopper de 1955 a 1959 y ayudó a dar forma al desarrollo de COBOL.
Desarrollo
Hopper descubrió que los clientes de procesamiento de datos comerciales no se sentían cómodos con la notación matemática:
Solía ser profesor de matemáticas. En ese momento encontré que había un cierto número de estudiantes que no podían aprender matemáticas. Entonces me acusaron de "el trabajo de hacer fácil para los empresarios usar nuestras computadoras. Encontré que no era una cuestión de si podían aprender matemáticas o no, pero si lo harían. [...] Dijeron: "Apagar esos símbolos, no sé qué significan, no tengo tiempo para aprender símbolos". Sugiero una respuesta a aquellos que quisieran procesar datos a las personas para usar símbolos matemáticos que hacen el primer intento de enseñar esos símbolos a los vicepresidentes o a un coronel o almirante. Le aseguro que lo intenté.
A fines de 1953, ella propuso que los problemas de procesamiento de datos se expresaran usando palabras clave en inglés, pero la gerencia de Rand consideró que la idea era inviable. A principios de 1955, ella y su equipo escribieron una especificación para dicho lenguaje de programación e implementaron un prototipo. El compilador FLOW-MATIC estuvo disponible públicamente a principios de 1958 y se completó sustancialmente en 1959.
Innovaciones e influencia
El sistema de Laning y Zierler fue el primer lenguaje de programación en analizar fórmulas algebraicas. Cuando Hopper se dio cuenta de ese lenguaje en 1954, alteró la trayectoria de su trabajo. FLOW-MATIC fue el primer lenguaje de programación en expresar operaciones usando declaraciones similares al inglés. También fue el primer sistema en separar claramente la descripción de los datos de las operaciones sobre 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 completando formularios preimpresos.
FLOW-MATIC y su descendiente directo AIMACO dieron forma a COBOL, que incorporó varios de sus elementos:
- Definir archivos de entrada y salida impresa por adelantado, separados en archivos INPUT, archivos OUTPUT y (HSP) salidas de impresora de alta velocidad.
INPUT
;OUTPUT
;HSP
. - Clasificación de los nombres de datos (
IN
oOF
cláusula). IF END OF DATA (AT END)
cláusula sobre el archivoREAD
operaciones.- Constante figurativa
ZERO
(originallyZZZ...ZZZ
, donde número deZ
s indicó precisión). - Dividir el programa en secciones, separando diferentes partes del programa. Secciones Flow-Matic incluidas
Computer
(División de Medio Ambiente)Directory
(División de Datos) yCompiler
(División de Procedimientos).
Programa de muestra
Un ejemplo de programa FLOW-MATIC:
()0INPUT INVENTORY FILE-A PRICE FILE-B; OUTPUT PRICED-INV FILE-C UNPRICED-INV FILE-D; HSP D. ()1) PRODUCTO COMPLETO-NO (A) CON PRODUCTO-NO (B); Si el GREATER va a la OPERACIÓN 10; IF EQUAL GO TO OPERATION 5; OTHERWISE GO TO OPERATION 2. ()2TRANSFERENCIA A D. ()3WRITE-ITEM D. ()4) JUMP TO OPERATION 8. ()5TRANSFERENCIA A C. ()6) MOVE UNIT-PRICE (B) TO UNIT-PRICE (C). ()7WRITE-ITEM C. ()8) READ-ITEM A; SI FIN DE DATOS GO TO OPERATION 14. ()9) JUMP TO OPERATION 1. ()10READ-ITEM B; IF END OF DATA GO TO OPERATION 12. ()11) JUMP TO OPERATION 1. ()12ARTÍCULO 9 PARA LA OPERACIÓN 2. ()13) JUMP TO OPERATION 2. ()14TEST PRODUCT-NO (B) AGAINST; IF EQUAL GO TO OPERATION 16; OTHERWISE GO TO OPERATION 15. ()15REWIND B. ()16; D. ()17Para.
Ejemplos de notas
- Tenga en cuenta que esta muestra incluye sólo las declaraciones ejecutables del programa, la
COMPILER
sección. Los campos récordPRODUCT-NO
yUNIT-PRICE
se habría definido en elDIRECTORY
sección, que (como se ha señalado anteriormente) no utiliza sintaxis similar al inglés. - Los archivos son referidos por la carta al final de la FILE-LETTER. Ejemplo: FILE-A se refiere más tarde sólo por A y es para la facilidad de referencia en el siguiente código.
- Las operaciones se numeran en una secuencia ininterrumpida de 0.n y se realizan en ese orden a menos que se llegue a una declaración al contrario (ejecutado) (JUMP, etc.).
- La operación numerada más alta es la que detiene el programa.
- En el manual titulado, FLOW-MATIC PROGRAMMING SYSTEM se ofrece una visión más detallada del FLOW-MATIC.
Contenido relacionado
Adicción a la computadora
Pitón (lenguaje de programación)
Algoritmo paralelo