Fortran, abreviação de "Formula Translation", é uma linguagem de programação de alto nível que é particularmente adequada para aplicações científicas e de engenharia. Foi uma das primeiras linguagens de programação desenvolvidas para computadores eletrônicos e evoluiu consideravelmente desde sua criação. Fortran permite a manipulação eficiente de dados em arrays e suporta cálculos matemáticos complexos, tornando-se uma linguagem de escolha para previsão numérica do tempo, física computacional e bioinformática, entre outros campos.
Fortran foi desenvolvido na década de 1950 pela IBM como uma linguagem projetada para computação numérica e computação científica. A primeira versão, Fortran I, foi lançada em 1957. A ideia central era criar uma linguagem que permitisse a cientistas e engenheiros escrever programas sem precisar conhecer as complexidades do hardware subjacente.
Versões subsequentes do Fortran foram introduzidas, cada uma adicionando novos recursos e melhorando a usabilidade. O Fortran II seguiu logo em seguida, adicionando recursos de programação estruturada. Em 1966, o Fortran IV foi introduzido, que se tornou um padrão da indústria. O Fortran 77 (lançado em 1978) adicionou recursos como tipos de dados de caracteres e melhorou as capacidades de entrada/saída.
A partir de 1991, o Fortran 90 introduziu programação de arrays, programação modular, recursão e alocação dinâmica de memória. O Fortran 2003 e o Fortran 2008 aprimoraram ainda mais a linguagem com recursos como Programação Orientada a Objetos e melhor interoperabilidade com a linguagem de programação C. O padrão mais recente, Fortran 2018, trouxe melhorias adicionais, incluindo melhor compatibilidade e funcionalidade para processamento paralelo.
O Fortran continua a ser amplamente utilizado em muitas disciplinas científicas e de engenharia, apoiado por compiladores modernos como o GNU Fortran (gfortran) e o Intel Fortran Compiler. Possui uma grande base de código legado, e muitas bibliotecas científicas são escritas em Fortran, tornando-se uma linguagem crítica em certos domínios.
Fortran é uma linguagem de tipagem forte que requer declaração explícita dos tipos de variáveis. Por exemplo:
INTEGER :: i
REAL :: x
CHARACTER(len=10) :: name
Fortran se destaca na manipulação de arrays, permitindo operações em arrays inteiros com uma sintaxe simples.
REAL, DIMENSION(10) :: A
A = 2.0 * A ! Multiplica cada elemento do array A por 2
Fortran fornece estruturas de controle convencionais, como loops e instruções condicionais.
DO i = 1, 10
IF (A(i) > 0) THEN
PRINT *, 'Positivo'
END IF
END DO
Fortran permite a definição de funções e sub-rotinas para programação modular.
FUNCTION square(x)
REAL :: square
REAL, INTENT(IN) :: x
square = x * x
END FUNCTION square
Por padrão, o Fortran possui uma regra onde variáveis com nomes que começam com "I", "J", "K", "L", "M" ou "N" são implicitamente do tipo INTEGER. Isso pode ser substituído para maior clareza.
IMPLICIT NONE ! Desabilita a tipagem implícita
INTEGER :: I
REAL :: R
Fortran suporta laços do-while para execução repetida com base em uma condição.
i = 1
DO WHILE (i <= 10)
PRINT *, i
i = i + 1
END DO
Fortran possui tipos definidos pelo usuário, conhecidos como tipos derivados, que permitem definições de dados semelhantes a estruturas.
TYPE :: Person
CHARACTER(len=20) :: name
INTEGER :: age
END TYPE Person
TYPE(Person) :: p1
Fortran suporta módulos para encapsular dados e procedimentos, promovendo a reutilização e organização do código.
MODULE myModule
CONTAINS
SUBROUTINE mySubroutine()
! Implementação
END SUBROUTINE
END MODULE
Fortran suporta ponteiros que facilitam a gestão dinâmica de memória, semelhante a linguagens como C.
REAL, POINTER :: pA
ALLOCATE(pA(10)) ! Aloca dinamicamente um array
Fortran possui recursos que criam interoperabilidade com C, permitindo programação em múltiplas linguagens.
INTERFACE
FUNCTION c_function(x) BIND(C, NAME="c_function")
INTEGER(C_INT) :: c_function(INTEGER)
END FUNCTION c_function
END INTERFACE
Os compiladores Fortran mais populares incluem:
Embora o Fortran não seja tão comumente associado a IDEs modernas como algumas outras linguagens, vários IDEs o suportam:
Construir um projeto em Fortran geralmente envolve criar arquivos fonte com extensão .f, .f90 ou .f95 e compilá-los usando um compilador Fortran. Um comando típico pode ser:
gfortran -o my_program my_source.f90
Fortran é amplamente utilizado em computação científica, previsão numérica do tempo, modelagem climática, física computacional, química computacional e bioinformática. É particularmente conhecido por seu desempenho em cálculos numéricos pesados e simulações.
Os principais concorrentes do Fortran no campo da programação científica e de engenharia incluem:
Fortran possui várias ferramentas de tradução de código fonte que podem ajudar os desenvolvedores a converter código legado para linguagens mais contemporâneas ou otimizar código existente. Algumas ferramentas incluem:
Essas ferramentas facilitam a transição de versões mais antigas do Fortran ou de paradigmas de programação completamente diferentes, enquanto ajudam a manter o desempenho e a funcionalidade.