Celebrando 70 años de Fortran
Al cumplirse 70 años de Fortran, los programadores reflexionan sobre cómo un lenguaje nacido en la era de las tarjetas perforadas evolucionó desde una traducción de fórmulas básica, con GOTOs y bloques COMMON, hasta un lenguaje moderno y estructurado que sigue siendo central para la computación científica de alto rendimiento. Los comentaristas recuerdan su impacto histórico (desde BLAS/LAPACK hasta la ingeniería nuclear y los modelos climáticos), contraponen el arcaico FORTRAN 77 con los estándares posteriores a 1990 y debaten si Fortran sigue siendo la herramienta “correcta” frente a C, Python+NumPy, Julia o Rust. Muchos concluyen que, pese a su edad y sus rarezas, las semánticas simples de Fortran, su sólido soporte para arrays y décadas de bibliotecas numéricas endurecidas lo mantienen vigente para el trabajo numérico intensivo.
Importancia histórica y longevidad
- Fortran se celebra como probablemente el lenguaje de programación más antiguo que sigue en uso activo, anterior a Lisp y COBOL, con una referencia a Guinness.
- Varios comentaristas recuerdan haber programado en FORTRAN II/IV en los años 60 y 70, subrayando lo temprano que fue en relación con la mayor parte de la informática moderna.
- Se atribuye a Fortran haber sido revolucionario por traducir fórmulas matemáticas directamente a código y por influir enormemente en lenguajes posteriores.
Evolución: FORTRAN → Fortran moderno
- El Fortran moderno (90/95/2003/2008/2018/2023) se describe como casi un lenguaje distinto del FORTRAN temprano.
- Construcciones heredadas como COMMON, ENTRY, EQUIVALENCE, constantes Hollerith, columnas fijas y semántica no recursiva se describen ampliamente como arcaicas, pero se conservan por compatibilidad hacia atrás.
- Algunos lamentan que las discusiones sigan centradas en FORTRAN 77 pese a décadas de estándares más nuevos.
Uso actual y dominios
- Fortran sigue siendo común en la computación científica y de ingeniería: ingeniería nuclear, geofísica, modelado del manto y de flujos, ingeniería química y civil/estructural, modelos climáticos, simulación de redes eléctricas y modelado oceánico relacionado con el petróleo.
- Bibliotecas numéricas fundamentales (BLAS, LAPACK, las clásicas suites linpack/fftpack) sustentan gran parte del ecosistema de ciencia de datos en Python, incluso cuando ahora están envueltas o parcialmente traducidas.
- Algunas instituciones y grupos de investigación todavía exigen FORTRAN 77, a menudo por la familiaridad de los asesores y por preocupaciones de compatibilidad.
Fortalezas técnicas
- Gran soporte para arrays y computación numérica; los compiladores aprovechan la ausencia de aliasing y las semánticas restringidas para optimizaciones agresivas, especialmente en máquinas vectoriales.
- El Fortran moderno se percibe como más simple que C para científicos de dominio, sin dejar de compilar a código nativo altamente optimizado.
- Buena interoperabilidad: un patrón común es usar Fortran para la numeria pesada con otros lenguajes (por ejemplo, C, Python) como frontends.
Críticas, puntos dolorosos y nostalgia
- Muchos recuerdan experiencias dolorosas: tarjetas perforadas, límites de 72 columnas, errores en bloques COMMON, arrays sin inicializar, subrutinas gigantes, identificadores crípticos de seis caracteres.
- Algunos sienten que la exposición temprana a FORTRAN 77 les quitó el interés por programar; otros le atribuyen un entendimiento fundamental del rendimiento, la optimización y los entornos multiusuario/mainframe.
- Las opiniones divergen sobre la relevancia actual de Fortran: algunos consideran preferible C u otros lenguajes modernos; otros sostienen que Fortran sigue siendo “best in class” para simulación numérica y código heredado de confianza.