Resumen

  • FORMAC convertía una fórmula en una estructura manipulable: podía diferenciarla, sustituir variables, desarrollarla y simplificarla antes de producir una forma aceptable para FORTRAN.
  • El resultado mostraba que ciertas reglas formales se habían aplicado a una representación concreta; no demostraba equivalencia en todos los dominios, estabilidad numérica, ausencia de fallos ni una conclusión científica.
  • Sammet impulsó y dirigió el lenguaje, pero E. R. Bond, Robert G. Tobey, Stephen N. Zilles, el resto del equipo de IBM y la comunidad contemporánea conservaron contribuciones diferenciadas.

Una ecuación se reduce en FORMAC. Después se perfora o se incorpora a una subrutina, FORTRAN IV la compila y la máquina entrega números. Visto desde el final, parece un solo cálculo. Visto desde cada interfaz, son decisiones distintas sobre representación, traducción, ejecución e interpretación.

El Computer History Museum sitúa a Jean E. Sammet en IBM desde 1961 y le atribuye la dirección del desarrollo de FORMAC, un sistema de matemáticas simbólicas que alcanzó un uso amplio. En su historia oral, Sammet explica que la idea era añadir cálculo simbólico a un lenguaje numérico ya operativo. FORTRAN ofrecía esa base, aunque también imponía límites de estilo y representación.

Calcular sobre la forma

La Introduction to FORMAC de Sammet y E. R. Bond, publicada en 1964, describe fórmulas que el programa puede nombrar y transformar. Diferenciación formal, sustitución, eliminación de paréntesis, expansión, simplificación y evaluación numérica pasan a formar parte del lenguaje.

Ahí está la novedad esencial. FORTRAN numérico opera sobre valores. FORMAC podía actuar antes sobre la arquitectura de la expresión. Hizo que la fórmula, y no solo su resultado, fuera material de cómputo.

El estudio de 1966 de Sammet amplía el encuadre: también había sistemas de integración, edición y visualización, aritmética de precisión, procesos por lotes, interacción en línea y aplicaciones. FORMAC fue decisivo dentro de un campo en expansión, no fuera de él.

La autoría técnica también es plural. Una retrospectiva de IBM cuenta que Sammet desarrolló los conceptos iniciales con ayuda de Robert G. Tobey en julio de 1962. La propuesta interna llegó en agosto, las especificaciones en diciembre, el primer sistema completo en abril de 1964 y la publicación en noviembre. El registro de ACM para el compilador experimental de 1964 nombra a Elaine R. Bond, Marc A. Auslander, S. Grisoff, Robert Kenney, Mat Myszewski, Sammet, Tobey y Stephen N. Zilles.

Generar FORTRAN no era terminar el razonamiento

Una nota técnica de la NASA de 1968 permite seguir el recorrido completo. Un modelo lineal de bloques se expresaba simbólicamente. FORMAC eliminaba variables, resolvía ecuaciones, sustituía relaciones y podía expandir expresiones racionales complejas si había memoria suficiente.

Luego cambiaba la autoridad. Las ecuaciones resultantes se preparaban en tarjetas para insertarlas en una subrutina FORTRAN IV. Había que retirar marcas propias de FORMAC y notaciones que FORTRAN no aceptaba. El compilador recibía ese programa; la ejecución posterior calculaba parte real e imaginaria, módulo y fase con entradas numéricas.

La separación respondía al rendimiento: repetir evaluaciones numéricas dentro del sistema simbólico era lento y ocupaba mucho almacenamiento. FORMAC efectuaba la reducción algebraica y FORTRAN asumía el trabajo numérico repetitivo. La frontera era una optimización bien diseñada, no una promesa de equivalencia entre etapas.

El mismo documento acota lo que podía afirmarse. El método tratado era lineal; no aceptaba coeficientes variables en el tiempo; las funciones arbitrarias exigían una función FORTRAN aportada por el usuario; la expansión podía fracasar por falta de memoria. Una aplicación geofísica de la época también presenta FORMAC como preprocesador simbólico, no como árbitro final del modelo.

La salida correcta necesita un ámbito

Que una regla produzca una expresión más breve no significa que ambas expresiones coincidan para todo valor. Cancelar factores puede ocultar un punto singular. Raíces, logaritmos y potencias introducen dominios y ramas. Una forma exacta puede ser mala para aritmética de punto flotante. Un programa que compila puede usar una función auxiliar equivocada o un modelo incompleto. Un número estable puede carecer de significado científico.

Por eso la cadena de evidencia debe conservar: fórmula y supuestos; motor y reglas simbólicas; expresión transformada; fuente FORTRAN generada; compilador, opciones y binario; entradas, precisión y salida; y, por último, la aceptación del dominio. Cada etapa añade información. Ninguna hereda automáticamente la autoridad de la siguiente.

Un equipo, no una firma única

La retrospectiva de 1993 de Sammet, The Beginning and Development of FORMAC, separa conceptos, desarrollo posterior, lenguajes relacionados, gestión de software en IBM e influencia. Esa separación también sirve para la historia de las personas.

Sammet definió y dirigió el proyecto. Bond fue coautora de la introducción y preparó una referencia temprana citada por la NASA. Tobey ayudó en el origen conceptual y en los algoritmos. Zilles y otros autores nombrados participaron en el compilador experimental. Los sistemas vecinos aportaron ideas y comparación. Reconocer estas capas no reduce el liderazgo de Sammet: muestra la organización que hizo posible que el álgebra cruzara hacia una cadena de producción.

FORMAC enseña que una interfaz puede ser rápida y fértil sin borrar la diferencia entre transformar un símbolo, producir código, ejecutar un número y aceptar una explicación.

Fuentes