O Fortran é uma “língua morta”? (2022)

O status do Fortran como uma “língua morta” é controverso: embora esteja em grande parte ausente de empregos de software mainstream e do desenvolvimento de propósito geral, ele continua sendo amplamente usado e ativamente mantido em computação científica e de engenharia de alto desempenho, especialmente em áreas como dinâmica dos fluidos, modelagem climática e simulação nuclear. Comentadores observam que o Fortran moderno oferece suporte nativo poderoso para arrays numéricos e estabilidade de código de longo prazo, mas carece das bibliotecas padrão ricas, das ferramentas e do ecossistema encontrados em linguagens como Python e C++. Muitos argumentam que ele agora funciona de fato como uma linguagem específica de domínio para HPC, com novos grandes projetos migrando cada vez mais para C++ ou outras linguagens por melhor interoperabilidade e suporte a GPUs, mesmo enquanto vastos codebases em Fortran continuam sustentando infraestrutura crítica.

O Fortran é uma “língua morta”?

  • Muitos argumentam que não está morto, mas é altamente nichado: muito ativo em HPC científica e de engenharia, e em grande parte ausente em outros contextos.
  • Uma definição proposta de “morto” é “sem novos codebases não‑hobby”; por esse padrão, vários participantes dizem que o Fortran ainda está vivo, outros dizem que fora da computação científica ele é, na prática, morto.
  • A lei de Betteridge é invocada: um título que pergunta se está morto implica “não”.

Domínios Principais e Código Legado

  • Uso amplamente reportado em: modelos de clima e meteorologia, CFD, engenharia nuclear, materiais, eletromagnetismo, simulação de colisões, combustão, numerics relacionados a finanças (via BLAS/LAPACK), e muitos outros códigos de simulação.
  • BLAS/LAPACK e muitas bibliotecas numéricas fundamentais foram escritas em Fortran e ainda são centrais para stacks modernos (frequentemente via wrappers em C).
  • Grandes códigos legados com décadas de validação tornam reescritas arriscadas e caras; reprodutibilidade de longo prazo e saídas estáveis bit a bit importam em aeroespacial, nuclear e outros domínios de alto impacto.

Recursos da Linguagem, Pontos Fortes e Fracos

  • Pontos fortes: arrays multidimensionais nativos, operações vetorizadas, números complexos, fortes otimizações de compilador, suporte a OpenMP e estabilidade de longo prazo. Alguns comparam favoravelmente a ergonomia de arrays com NumPy.
  • O Fortran moderno (2003–2018/2023) adiciona muitas facilidades; slicing é suportado, e há “broadcasting” limitado via funções elementares e operações array/escalar.
  • Pontos fracos: biblioteca padrão extremamente enxuta (sem rede, threads, estruturas de dados ricas integradas), tratamento de strings ruim, abstrações de alto nível escassas; muitas tarefas parecem “C sem libc”.
  • Alguns dizem que a experiência geral do desenvolvedor é “terrível” em comparação com Python; outros discordam fortemente e acham o Fortran simples e agradável para numéricos.

Ferramentas, Compiladores e Ecossistema

  • Vários compiladores ativos (gfortran, Intel, LLVM flang, compiladores de fornecedores); alguns compiladores comerciais e pequenos fornecedores desapareceram.
  • Há reclamações sobre compiladores gratuitos com bugs e ferramentas com cara de anos 1990; outros destacam trabalho contínuo para melhorar compiladores e testes.

Empregos, Educação e Manutenibilidade

  • Painéis gerais de emprego mostram quase nenhuma vaga em Fortran em comparação com linguagens mainstream; muitos empregos em Fortran estão em laboratórios de pesquisa ou empresas de engenharia especializadas e recrutam por redes acadêmicas.
  • Alguns centros nacionais de HPC ainda ensinam Fortran moderno; em outros lugares, Python/C++ dominam o treinamento e novos projetos, com o Fortran sendo gradualmente descontinuado em alguns laboratórios por motivos de manutenibilidade e contratação.

GPUs e Direção Futura

  • A portabilidade de códigos Fortran para aceleradores é descrita como difícil e fragmentada (CUDA Fortran, suporte parcial a OpenMP 5); isso empurra novos projetos de HPC para C++.
  • Há algum otimismo de que OpenMP, memória unificada em novo hardware e o flang amadurecendo melhorem a portabilidade para aceleradores, mas o estado atual é misto.