FLOW-MATIC , originalmente conocido como B-0 ( Business Language versión 0 ), fue el primer idioma de procesamiento de datos similar al inglés . Fue desarrollado para UNIVAC I en Remington Rand bajo Grace Hopper desde 1955 hasta 1959, y ayudó a dar forma al desarrollo de COBOL .
Paradigma | imperativo |
---|---|
Diseñada por | Remington Rand , Grace Hopper |
Apareció por primera vez | 1955 |
Plataforma | UNIVAC I |
Influenciado por | |
ARITH-MATIC | |
Influenciado | |
MATEMÁTICAS , AIMACO , COBOL |
Desarrollo
Hopper descubrió que los clientes de procesamiento de datos comerciales no se sentían cómodos con la notación matemática: [1]
Solía ser profesor de matemáticas. En ese momento descubrí que había cierto número de estudiantes que no podían aprender matemáticas. Luego me encargaron “el trabajo de facilitar a los empresarios el uso de nuestras computadoras. Descubrí que no se trataba de si podían aprender matemáticas o no, sino de si lo harían. […] Dijeron: 'Tira esos símbolos, no sé lo que significan, no tengo tiempo para aprender símbolos'. Sugiero una respuesta a aquellos a quienes les gustaría que las personas que procesan datos usen símbolos matemáticos, que hagan el primer intento de enseñar esos símbolos a los vicepresidentes o un coronel o almirante. Te aseguro que lo probé ”.
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 su equipo escribieron una especificación para dicho lenguaje de programación e implementaron un prototipo. [2] El compilador FLOW-MATIC se puso a disposición del público a principios de 1958 y se completó sustancialmente en 1959. [3]
Innovaciones e influencia
FLOW-MATIC fue el primer lenguaje de programación que expresó operaciones utilizando declaraciones similares al inglés . [3] 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. [3]
FLOW-MATIC y su descendiente directo AIMACO formaron COBOL , [4] que incorporó varios de sus elementos:
- Definición de archivos de entrada y salida y salida impresa por adelantado, separados en archivos de ENTRADA, archivos de SALIDA y salidas de impresora de alta velocidad (HSP).
INPUT
;OUTPUT
;HSP
. [5] - Calificación de nombres de datos (
IN
oOF
cláusula). IF END OF DATA (AT END)
cláusula sobreREAD
operaciones de archivo .- Constante figurativa
ZERO
(originalmenteZZZ...ZZZ
, donde el número deZ
'indica la precisión). - Dividiendo 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) yCompiler
(División de procedimientos).
Programa de muestra
Un ejemplo de programa FLOW-MATIC: [6] [7]
(0 ) ARCHIVO DE INVENTARIO DE ENTRADA-A ARCHIVO DE PRECIOS-B; SALIDA PRICED-INV FILE-C UNPRICED-INV ARCHIVADO ; HSP D. ( 1 ) COMPARAR PRODUCTO-NO (A) CON PRODUCTO-NO (B); SI ES MAYOR, PÓNGASE EN FUNCIONAMIENTO 10 ; SI ES IGUAL, VAYA A OPERACIÓN 5 ; DE LO CONTRARIO VAYA A OPERACIÓN 2 . ( 2 ) TRANSFERIR A A D. ( 3 ) ESCRIBIR EL ARTÍCULO D. ( 4 ) SALTAR A FUNCIONAMIENTO 8 . ( 5 ) TRANSFERIR A A C. ( 6 ) MUEVA UNIT-PRICE (B) A UNIT-PRICE (C). ( 7 ) ESCRIBIR EL ARTÍCULO C. ( 8 ) LEER EL ARTÍCULO A; SI FIN DE DATOS VAYA A FUNCIONAMIENTO 14 . ( 9 ) SALTAR A FUNCIONAMIENTO 1 .( 10 ) LEER EL ARTÍCULO B; SI FIN DE DATOS VAYA A FUNCIONAMIENTO 12 .( 11 ) SALTAR A FUNCIONAMIENTO 1 .( 12 ) CONFIGURAR LA OPERACIÓN 9 PARA IR A OPERACIÓN 2 .( 13 ) SALTAR A FUNCIONAMIENTO 2 .( 14 ) PROBAR PRODUCTO-NO (B) CONTRA; SI ES IGUAL, VAYA A OPERACIÓN 16 ; DE LO CONTRARIO, VAYA A FUNCIONAMIENTO 15 .( 15 ) REBOBINAR B.( 16 ) ARCHIVOS DE CIERRE C; D .( 17 ) PARE. (FINAL)
Notas de muestra
- Tenga en cuenta que esta muestra incluye solo las declaraciones ejecutables del programa, la
COMPILER
sección. Los campos de registroPRODUCT-NO
yUNIT-PRICE
se habrían definido en laDIRECTORY
sección, que ( como se señaló anteriormente ) no utilizó una sintaxis similar al inglés. [8] - Se hace referencia a los archivos por la letra al final de la CARTA DE ARCHIVO. Ejemplo: FILE-A se denomina más adelante solo por A y es para facilitar la referencia en el siguiente código.
- Las operaciones se numeran en una secuencia ininterrumpida desde 0..n y se realizan en ese orden a menos que se alcance / realice (ejecute) una declaración en contrario (JUMP, etc.).
- La operación con el número más alto es la que detiene el programa.
- Una descripción mucho más detallada de FLOW-MATIC está disponible en el manual titulado SISTEMA DE PROGRAMACIÓN FLOW-MATIC [9]
Notas
- ^ Hopper (1959) p. 198.
- ^ Hopper (1978) p. dieciséis.
- ↑ a b c Sammet (1969) p. 316
- ^ Sammet (1978) p. 204.
- ^ Remington Rand Univac, una división de Sperry Rand Corporation (1957). SISTEMA DE PROGRAMACIÓN FLOW-MATIC p. 30.
- ^ Sperry Rand (1957) p. 7.
- ^ Sammet (1969) p. 323.
- ^ Hopper (1978) p. 18.
- ^ Remington Rand Univac, una división de Sperry Rand Corporation (1957). SISTEMA DE PROGRAMACIÓN FLOW-MATIC
Referencias
- Hopper, Grace (1978). Discurso de apertura, Historia de 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 procesos de pensamiento , Simposio Nacional de Laboratorio Físico 10. Oficina de Papelería de Su Majestad. pp 155-200, citado en Knuth, Donald; Trabb Pardo, Luis (agosto de 1976). El desarrollo temprano de lenguajes de programación (informe técnico). Departamento de Ciencias de la Computación, Facultad de Humanidades y Ciencias, Universidad de Stanford . Consultado el 19 de marzo de 2016 .
- Sammet, Jean (1969). Lenguajes de programación: historia y fundamentos . Prentice Hall. pag. 316–324. ISBN 0-13-729988-5
- Sammet, Jean (1978). "La historia temprana de COBOL", Historia de Lenguajes de Programación I . ACM. págs. 199–243. ISBN 0-12-745040-8
- Sperry Rand Corporation (1957) Introducción de un nuevo lenguaje para 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
- Este artículo se basa en material extraído del Diccionario de Computación en línea gratuito antes del 1 de noviembre de 2008 e incorporado bajo los términos de "renovación de licencias" de la GFDL , versión 1.3 o posterior.