Ir al contenido principal
Bethemesh
HistoriaHistoria de la informática

FORTRAN: demostrar que un compilador podía competir con el ensamblador

Cómo el equipo de John Backus creó FORTRAN, convenció a los científicos para usar un lenguaje de alto nivel y fundó un legado de cálculo numérico.

Publicado el 3 de agosto de 2026Lectura : 5 minPor Equipo Bethemesh
Principiante
Ilustración de fórmulas científicas traducidas por un compilador FORTRAN
Mostrar el contenido
  1. El coste oculto de los primeros ordenadores
  2. Un equipo, un lenguaje y un compilador
  3. Por qué optimizar era condición de adopción
  4. De los dialectos a la normalización
  5. Un lenguaje diseñado para matrices
  6. FORTRAN, COBOL y ampliar la programación
  7. Por qué Fortran sigue importando
  8. Cronología
  9. Preguntas frecuentes
  10. ¿Creó John Backus FORTRAN él solo?
  11. ¿Por qué fue excepcional el primer compilador?
  12. ¿FORTRAN y Fortran son el mismo lenguaje?
  13. ¿Por qué se conserva código Fortran antiguo?
  14. ¿Fortran está limitado a ordenadores antiguos?
  15. ¿Cuál es la diferencia principal entre FORTRAN y COBOL?

A comienzos de los años cincuenta, la mayoría de los científicos programaban en código máquina o ensamblador. Una fórmula debía descomponerse en instrucciones propias del ordenador, gestionando registros y direcciones. El cálculo era rápido al terminar el programa, pero prepararlo podía llevar semanas.

El equipo de John Backus en IBM propuso una ruptura: escribir fórmulas próximas a las matemáticas y dejar que un programa las tradujera. FORTRAN, de Formula Translation, solo triunfó porque su compilador produjo código capaz de competir con especialistas en ensamblador.

El coste oculto de los primeros ordenadores

El tiempo de máquina era caro, pero también el de los programadores. A medida que los ordenadores aceleraban, preparar programas representaba una parte creciente del coste.

Backus trabajó primero en Speedcoding para el IBM 701. Ofrecía operaciones prácticas, incluida aritmética en coma flotante, pero interpretaba instrucciones y ralentizaba mucho la ejecución. Mostró la utilidad de una notación accesible y confirmó que los científicos no aceptarían perder rendimiento.

En 1953, Backus propuso un traductor para el IBM 704. La máquina ofrecía coma flotante por hardware y registros índice, pero explotarlos eficientemente exigía organizar el código de forma compleja.

Un equipo, un lenguaje y un compilador

IBM reunió especialistas complementarios. Harlan Herrick, Irving Ziller, Peter Sheridan, Roy Nutt, Robert Nelson, Lois Haibt y otros participaron en sintaxis, análisis, optimización y pruebas.

El lenguaje ofrecía expresiones, bucles y saltos para cálculo numérico. Su forma inicial reflejaba el hardware y las tarjetas: columnas reservadas, etiquetas numéricas y GO TO.

La innovación decisiva fue el compilador. Analizaba dependencias, organizaba registros y reducía operaciones repetidas. No bastaba con producir un programa correcto: debía ser tan rápido que nadie quisiera volver al ensamblador.

Entregado en 1957, superó las expectativas de muchos usuarios. El tiempo de programación cayó y FORTRAN se difundió con los ordenadores IBM.

Por qué optimizar era condición de adopción

Un lenguaje de alto nivel separa el texto de las instrucciones del procesador. Hoy parece normal; en 1957, confiar decisiones de optimización a un programa era una apuesta.

FORTRAN demostró que el compilador podía realizar trabajo mecánico mejor y con más regularidad, sobre todo en programas grandes. Cambió la economía del software: el ordenador no solo ejecutaba el cálculo, también ayudaba a fabricar el programa.

La productividad no eliminó la experiencia numérica. Una fórmula inestable o un modelo incorrecto siguen siendo falsos. FORTRAN separó expresión científica y detalles del procesador; no sustituyó el conocimiento del dominio.

De los dialectos a la normalización

El éxito produjo versiones y extensiones. FORTRAN II añadió compilación separada. FORTRAN IV aclaró el lenguaje, mientras fabricantes ofrecían funciones propias.

La fragmentación amenazaba la portabilidad. En 1966 apareció una norma estadounidense y revisiones posteriores organizaron la evolución. FORTRAN 77 generalizó prácticas; Fortran 90 introdujo formato libre, matrices más expresivas, módulos y programación estructurada.

La grafía oficial pasó de FORTRAN a Fortran como parte de la modernización, sin crear otro lenguaje. Versiones posteriores añadieron objetos, concurrencia e interoperabilidad con C.

La compatibilidad siguió siendo prioritaria. Modelos validados durante décadas representan conocimiento caro de reconstruir. Evolucionarlos gradualmente suele ser más seguro que reescribirlos.

Un lenguaje diseñado para matrices

El cálculo científico manipula vectores, matrices y mallas. Fortran expresa operaciones sobre matrices completas, dando al compilador información para vectorizar y paralelizar.

Su modelo facilita algunos análisis de alias: el compilador puede determinar con más frecuencia si dos nombres apuntan a la misma memoria. Así reorganiza operaciones sin cambiar resultados.

Estas propiedades mantienen a Fortran competitivo en clima, fluidos, física y cálculo intensivo. Su longevidad no procede solo del código antiguo, sino de una especialización mantenida.

FORTRAN, COBOL y ampliar la programación

FORTRAN y los trabajos de Grace Hopper respondieron al mismo obstáculo: el código máquina limitaba cuántas personas podían convertir problemas en programas.

Sus dominios diferían. FORTRAN privilegiaba fórmulas y rendimiento numérico. FLOW-MATIC y COBOL, archivos, registros y vocabulario empresarial. Juntos mostraron que un lenguaje podía adaptarse a una categoría de problemas, no a una máquina.

ALGOL, Lisp, Pascal y C continuaron separando intención y hardware con otras prioridades: algoritmos, símbolos, enseñanza o sistemas.

Por qué Fortran sigue importando

Fortran demuestra que un lenguaje no necesita desechar su pasado para ser moderno. Puede conservar programas probados y añadir abstracciones, normas y herramientas para nuevas máquinas.

Su mayor aportación histórica fue hacer creíble la compilación optimizadora. Hoy usamos lenguajes mucho más abstractos porque los compiladores aprendieron a convertir intenciones en código eficiente. FORTRAN ofreció una de las primeras pruebas decisivas.

Cronología

  • 1953: John Backus propone un traductor de fórmulas en IBM.
  • 1954: se forma el equipo FORTRAN para el IBM 704.
  • 1957: se entrega el primer compilador FORTRAN.
  • 1958: FORTRAN II facilita subprogramas compilados por separado.
  • 1962: FORTRAN IV racionaliza el lenguaje.
  • 1966: se publica la primera norma estadounidense.
  • 1978: se normaliza FORTRAN 77.
  • 1991: se publica Fortran 90 con la grafía moderna.
  • 2003: Fortran 2003 añade mecanismos orientados a objetos.
  • Hoy: Fortran sigue activo en cálculo científico e intensivo.

Preguntas frecuentes

¿Creó John Backus FORTRAN él solo?

No. Propuso y dirigió un equipo de especialistas de IBM. Lenguaje y, sobre todo, compilador fueron obras colectivas.

¿Por qué fue excepcional el primer compilador?

Debía optimizar lo suficiente para convencer a científicos habituados a controlar cada instrucción. Hizo creíbles los lenguajes de alto nivel para el rendimiento.

¿FORTRAN y Fortran son el mismo lenguaje?

Sí. Fortran se convirtió en la grafía oficial moderna. Señala una evolución importante sin romper la continuidad histórica.

¿Por qué se conserva código Fortran antiguo?

Suele contener modelos numéricos probados durante décadas. Reescribirlos puede introducir errores científicos sutiles.

¿Fortran está limitado a ordenadores antiguos?

No. Los compiladores modernos se dirigen a procesadores y superordenadores actuales; el lenguaje incluye módulos, matrices, objetos y concurrencia.

¿Cuál es la diferencia principal entre FORTRAN y COBOL?

FORTRAN nació para cálculo científico; COBOL para datos comerciales. Ambos buscaban liberar los programas del código máquina.

Fuentes y referencias

  1. 1.IBM --- The FORTRAN Automatic Coding System
  2. 2.John Backus et al. --- The FORTRAN Automatic Coding System
  3. 3.Computer History Museum --- John Backus
  4. 4.Fortran-lang --- Fortran history

Colección

Lenguajes de programación

  1. 01Grace Hopper: de los primeros compiladores a COBOL
  2. 02John Backus: FORTRAN, la notación BNF y el rechazo del código máquina
  3. 03Dennis Ritchie: el lenguaje C en el corazón de Unix
  4. 04FORTRAN: demostrar que un compilador podía competir con el ensamblador
  5. 05El lenguaje C: hacer portables los sistemas sin ocultar la máquina
  6. 06Niklaus Wirth: de Pascal a Oberon, diseñar mediante la simplicidad
  7. 07Bjarne Stroustrup: diseñar C++ sin renunciar al rendimiento
  8. 08Pascal: aprender a programar haciendo visible la estructura
  9. 09C++: de C with Classes a un lenguaje de propósito general
  10. 10Programación orientada a objetos: objetos, mensajes y abstracciones reutilizables
  11. 11Guido van Rossum: crear Python para que el código sea legible
  12. 12Brendan Eich: JavaScript, del prototipo de Netscape al estándar web
  13. 13James Gosling: el ingeniero que dio origen a Java
  14. 14Python: legibilidad, baterías incluidas y un ecosistema mundial
  15. 15Java: escribir una vez, ejecutar en cualquier lugar
  16. 16JavaScript: el lenguaje que hizo interactiva la Web
  17. 17Ken Thompson: de Unix a Go, la simplicidad como método
  18. 18John McCarthy: Lisp y la idea de programar con símbolos
  19. 19Alan Kay: Smalltalk y el ordenador como medio personal
  20. 20Barbara Liskov: la abstracción que hizo modular el software
  21. 21Robin Milner: ML, la prueba asistida y los lenguajes de la interacción
  22. 22Brian Kernighan: AWK, Unix y el arte de explicar el código
  23. 23Anders Hejlsberg: de Turbo Pascal a C# y TypeScript
  24. 24Larry Wall: Perl, el lenguaje que conectó las herramientas de Internet
  25. 25Yukihiro Matsumoto: Ruby y la felicidad del programador
  26. 26Rasmus Lerdorf: PHP y la democratización de la Web dinámica
BiografíaHistoria de la informáticaPrincipiante

Grace Hopper: de los primeros compiladores a COBOL

Descubre cómo Grace Hopper ayudó a transformar la programación haciendo que los ordenadores tradujeran instrucciones legibles a operaciones de máquina.

3 de agosto de 20267 minLeer

¿Te ha resultado útil este artículo?