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.