Celebrando 70 anos de Fortran

Marcando o 70º aniversário do Fortran, programadores refletem sobre como uma linguagem nascida na era dos cartões perfurados evoluiu de uma tradução rudimentar de fórmulas com GOTOs e blocos COMMON para uma linguagem moderna e estruturada ainda central na computação científica de alto desempenho. Comentadores relembram seu impacto histórico (de BLAS/LAPACK a engenharia nuclear e modelos climáticos), contrastam o arcaico FORTRAN 77 com os padrões pós-1990 e debatem se o Fortran ainda é a ferramenta “certa” em comparação com C, Python+NumPy, Julia ou Rust. Muitos concluem que, apesar da idade e das peculiaridades, a semântica simples do Fortran, o forte suporte a arrays e as décadas de bibliotecas numéricas consolidadas mantêm sua relevância para trabalho numérico pesado.

Significado histórico e longevidade

  • O Fortran é celebrado como provavelmente a linguagem de programação mais antiga ainda em uso ativo, anterior a Lisp e COBOL, com a Guinness citada.
  • Vários comentaristas relatam ter programado em FORTRAN II/IV nas décadas de 1960 e 1970, enfatizando o quão cedo isso foi em relação à maior parte da computação moderna.
  • O Fortran é creditado por ter sido revolucionário ao traduzir fórmulas matemáticas diretamente em código e por ter influenciado fortemente linguagens posteriores.

Evolução: FORTRAN → Fortran moderno

  • O Fortran moderno (90/95/2003/2008/2018/2023) é descrito como quase uma linguagem diferente do FORTRAN inicial.
  • Construções legadas como COMMON, ENTRY, EQUIVALENCE, constantes Hollerith, colunas fixas e semântica não recursiva são amplamente descritas como arcaicas, mas mantidas por compatibilidade retroativa.
  • Alguns lamentam que as discussões ainda se fixem no FORTRAN 77, apesar de décadas de padrões mais novos.

Uso atual e domínios

  • O Fortran continua comum em computação científica e de engenharia: engenharia nuclear, geofísica, modelagem de manto e de fluxo, engenharia química e civil/estrutural, modelos climáticos, simulação de redes elétricas e modelagem oceânica relacionada ao petróleo.
  • Bibliotecas numéricas centrais (BLAS, LAPACK, as clássicas suítes linpack/fftpack) sustentam grande parte do ecossistema de ciência de dados em Python, mesmo quando hoje são encapsuladas ou parcialmente traduzidas.
  • Algumas instituições e grupos de pesquisa ainda exigem FORTRAN 77, muitas vezes por familiaridade do orientador e preocupações de compatibilidade.

Pontos fortes técnicos

  • Forte suporte a arrays e computação numérica; os compiladores exploram a ausência de aliasing e semânticas restritas para otimizações agressivas, especialmente em máquinas vetoriais.
  • O Fortran moderno é visto como mais simples do que C para cientistas de domínio, ao mesmo tempo em que ainda compila para código nativo altamente otimizado.
  • Boa interoperabilidade: um padrão comum é usar Fortran para a parte numérica pesada com outras linguagens (por exemplo, C, Python) como frontends.

Críticas, dificuldades e nostalgia

  • Muitos relatam experiências dolorosas: cartões perfurados, limites de 72 colunas, bugs em blocos COMMON, arrays não inicializados, sub-rotinas gigantes, identificadores obscuros de seis caracteres.
  • Alguns sentem que a exposição inicial ao FORTRAN 77 os desmotivou a programar; outros creditam isso por lhes dar uma compreensão fundamental de desempenho, otimização e ambientes multiusuário/mainframe.
  • As opiniões divergem sobre a relevância do Fortran hoje: alguns consideram C ou outras linguagens modernas preferíveis; outros argumentam que o Fortran continua “best in class” para simulação numérica e código legado confiável.