Fortran foi a primeira linguagem de programação de alto nível do mundo. Foi desenvolvido na IBM por uma pequena equipe liderada por John Backus.
A primeira versão do Fortran foi lançada em 1957 como uma ferramenta de programação para a IBM 704. Cinquenta anos depois, Fortran continua a ser a linguagem de programação escolhida para cálculos numéricos em grande escala em ciência e engenharia.
Antes de Fortran
Os programas para os primeiros computadores consistiam em sequências de códigos numéricos. Cada código representava uma operação básica, como “buscar um número da localização da memória X e colocá-lo no registro A” ou “adicionar o número no registro A ao número no registro B”.
Esse estilo de programação era demorado e propenso a erros. Os erros eram difíceis de encontrar.
Quando John Backus se juntou à IBM como programador científico em 1950, tornou-se possível escrever programas usando mnemômicas como ADD no lugar dos códigos numéricos.
Um programa especial (que chamaríamos de montador hoje) converteu os mnemônicos nos códigos numéricos correspondentes. Isso tornou a programação um pouco mais fácil, mas mesmo um programa simples exigia dezenas de operações, e ainda era difícil rastrear erros.
Backus argumentou que deveria ser possível criar uma linguagem de programação que permitisse que uma série de cálculos se expressasse em algo parecido com a notação matemática.
Um programa de tradução (um compilador, na terminologia de hoje), o converteria nos códigos numéricos que o computador entenderia. Backus propôs essa ideia a seu gerente em 1953.
Ele recebeu um orçamento e foi incentivado a contratar uma equipe pequena para testar a viabilidade da noção.
Três anos depois, a equipe publicou um manual que descrevia o IBM Mathematical Formula Translating System, ou Fortran. Logo depois, a IBM disponibilizou o primeiro compilador Fortran aos usuários do IBM 704.
Backus e sua equipe criaram a primeira linguagem de programação de alto nível do mundo. Cientistas e engenheiros já não teriam que escrever seus programas como códigos numéricos ou mnemônicos longos.
Significativamente, a equipe da Backus implementou o primeiro compilador de otimização, que não apenas traduziu os programas Fortran para os códigos numéricos da IBM 704, mas produziu códigos que funcionavam quase tão rápido como qualquer coisa que pudesse ser trabalhada manualmente.
Isso foi muito importante para garantir o sucesso da Fortran. Os primeiros computadores eram muito lentos pelos padrões atuais e representavam uma mercadoria cara para seus proprietários. Programas ineficientes eram um desperdício de tempo e dinheiro.
Backus e sua equipe entenderam isso, e eles sabiam que eles tinham que refutar seus críticos que disseram que um programa compilado a partir de uma linguagem de alto nível nunca poderia ser tão eficiente como aquele que foi feito à mão usando diretamente códigos numéricos ou mnemônicos.
Os primeiros anos
Em 1958, a IBM lançou uma versão revisada da linguagem, denominada Fortran II. Forneceu suporte para a programação processual através da introdução de declarações que permitiram aos programadores criar sub-rotinas e funções, incentivando assim a reutilização do código.
A crescente popularidade da Fortran levou muitos fabricantes de computadores a implementar versões para suas próprias máquinas.
Cada fabricante adicionou suas próprias personalizações, tornando impossível garantir que um programa escrito para um tipo de máquina compilar e executar em um tipo diferente. A IBM respondeu removendo todos os recursos dependentes da máquina da sua versão do idioma.
O resultado, lançado em 1961, foi chamado Fortran IV.
FORTRAN 66
No início dos anos 60, havia uma pressão crescente para criar uma versão padronizada do Fortran que não estava ligada a nenhum tipo de computador.
Em 1962, a American Standards Association (o precursor da ANSI , o American National Standards Institute ) convocou um comitê para perseguir esse objetivo. O resultado, publicado em 1966, foi um documento que definiu a linguagem que se tornou conhecida como Fortran 66.
Fortran 66 foi um marco significativo na ciência da computação. Foi a primeira linguagem de programação a ser definida por um padrão formal.
Fortran 77
Dentro de apenas alguns anos, as deficiências do Fortran 66 começaram a se tornar evidentes, especialmente em comparação com outras linguagens de programação como C, Pascal e Algol. Os fabricantes de computadores adicionaram novas personalizações ao idioma para tentar resolver algumas dessas falhas.
Isso forçou o comitê de padrões ANSI Fortran, conhecido como X3J3, para começar a trabalhar em uma nova versão do idioma em 1969. O padrão resultante levaria oito anos para atingir a maturidade, mas a linguagem que definiu, conhecida como Fortran 77, representou um importante Aprimoramento.
Entre os recursos adicionados foram a declaração IF, tipo de dados CHARACTER, I/O de acesso direto e a declaração PARAMETER para definir constantes.
Fortran 77 se tornou a versão mais usada da linguagem, e é provável que grande parte do código Fortran legado em todo o mundo esteja escrito neste dialeto da linguagem.
Fortran 90
Fortran 77 enfrentou concorrência de linguagens como C, o que permitiu aos programadores alocar memória dinamicamente e definir estruturas de dados heterogêneas.
Fortran 77 não poderia fazer nenhuma dessas coisas. A próxima versão do Fortran para emergir do comitê ANSI X3J3 foi projetada para resolver essas deficiências.
Foi tentativamente chamado Fortran 8X, mas, no final da década de 1980, o comitê não parecia estar perto de lançar o novo padrão, e houve uma piada popular entre os cientistas da computação de que “X” precisaria ser um dígito hexadecimal.
A nova versão do Fortran foi finalmente publicada como padrão pela Organização Internacional de Padrões em 1991, e ficou conhecida de forma informal como Fortran 90.