FLOW-MATIC para niños
FLOW-MATIC, conocido originalmente como B-0 (Business Language version 0), fue un lenguaje de programación muy importante. Fue el primero en usar instrucciones que se parecían al inglés, lo que lo hacía más fácil de entender para las personas. También fue pionero en separar claramente cómo se describían los datos de las acciones que se realizaban con ellos. Aunque las instrucciones para las acciones eran como el inglés, la forma de definir los datos no lo era; se hacía rellenando formularios especiales.
Este lenguaje fue creado para la computadora UNIVAC I en la empresa Remington Rand. La brillante científica de la computación Grace Murray Hopper dirigió su desarrollo entre 1955 y 1959. FLOW-MATIC fue tan influyente que ayudó a crear otro lenguaje de programación muy conocido llamado COBOL. Grace Hopper y Robert William Bemer fueron clave en la idea de usar palabras del lenguaje natural en los lenguajes de programación. También desarrollaron los primeros programas que traducían el código (llamados compiladores), como el Sistema A-0 Math Matic y el B-0 FLOW-MATIC. Más tarde, en 1960, Bemer presentó la primera versión de COBOL (Common Business-Oriented Language).
Grace Hopper se dio cuenta de que a las personas que trabajaban con datos de negocios les resultaba difícil usar la notación matemática en la programación. A finales de 1953, propuso que los problemas de procesamiento de datos se expresaran usando palabras clave en inglés. Al principio, la dirección de Remington Rand pensó que su idea no era posible. Sin embargo, a principios de 1955, ella y su equipo escribieron las especificaciones para este nuevo lenguaje y crearon un primer modelo. El programa que traducía FLOW-MATIC (su compilador) estuvo disponible para el público a principios de 1958 y se terminó por completo en 1959.
Contenido
¿Qué hizo especial a FLOW-MATIC?
FLOW-MATIC introdujo ideas revolucionarias en la programación. Fue el primer lenguaje que permitió escribir las instrucciones de las computadoras usando frases que se parecían al inglés. Esto fue un gran avance porque antes, los lenguajes eran mucho más complicados y usaban símbolos o códigos difíciles de recordar.
Separación de datos y operaciones
Una de sus mayores innovaciones fue la forma en que separaba la descripción de los datos de las operaciones que se realizaban con ellos. Imagina que tienes una lista de nombres y edades. FLOW-MATIC permitía describir esa lista de una manera, y luego dar instrucciones sobre qué hacer con esos nombres y edades (como ordenarlos o buscarlos) de otra manera. Esto hacía que los programas fueran más organizados y fáciles de entender. Aunque las instrucciones para las acciones eran como el inglés, la forma de definir los datos se hacía rellenando formularios especiales, no con frases en inglés.
Influencia en COBOL
FLOW-MATIC y un lenguaje similar llamado AIMACO fueron la base para crear COBOL, que es un lenguaje que todavía se usa mucho hoy en día en el mundo de los negocios. COBOL tomó varias ideas importantes de FLOW-MATIC, como:
- Definición de archivos: Permitía especificar de antemano los archivos de entrada (datos que el programa lee), los archivos de salida (datos que el programa crea) y las impresiones.
- Calificación de nombres: Podías especificar de qué parte del programa venía un dato, lo que ayudaba a evitar confusiones.
- Manejo del final de los datos: Tenía una forma de saber cuándo se había terminado de leer toda la información de un archivo.
- Constantes especiales: Incluía una forma de representar el número cero de manera sencilla.
- División del programa: El programa se dividía en secciones claras, lo que facilitaba su organización. Las secciones de FLOW-MATIC incluían:
* Computer: Para la configuración del entorno. * Directory: Para la descripción de los datos. * Compiler: Para las instrucciones de las acciones.
Ejemplo de programa FLOW-MATIC
Aquí tienes un pequeño ejemplo de cómo se veía un programa escrito en FLOW-MATIC. Puedes ver que las instrucciones se parecen a frases en inglés, lo que era muy novedoso para su época:
(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)
Este programa de ejemplo muestra cómo se comparaban números de productos, se movían datos entre archivos y se escribían resultados, todo con instrucciones que se leen casi como oraciones.
Véase también
En inglés: FLOW-MATIC Facts for Kids