Fortran

Fortran
Paradigma Multiparadigma:
Surgido em 1957
Última versão Fortran 2023 (ISO/IEC 1539:2023) (17 de novembro de 2023)
Criado por John Backus & IBM
Estilo de tipagem
  • estática
  • forte
Principais implementações
Influenciada por Speedcoding
Influenciou
Extensão do arquivo
  • .f
  • .for
  • .ftn
  • .f90
  • .f95
  • .f03
  • .f08[1]

Fortran[a], acrônimo de IBM Mathematical FORmula TRANslation System, é uma linguagem de programação voltada para computação científica e técnica e que especialmente projetada pela execução eficiente em tempo de execução numa ampla variedade de processadores.[2] Foi inicialmente desenvolvida na década de 1950.[2] Foi normatizada em 1966 e desde então, recebeu revisões em 1978, 1991, 1997, 2004, 2010, 2018 e 2023.[2][3] Até meados dos anos 1980, foi a linguagem hegemônica da computação científica[4][5] e atualmente é a terceira linguagem de programação mais popular na computação de alto desempenho[6] (HPC), especialmente em aplicações em que há muito código legado.[7]

Apesar de ter sido inicialmente uma linguagem de programação procedural, versões recentes de Fortran permitem programação orientada por objetos.

Desde de o início dos anos 1970, linguagens de programação de quarta e quinta geração suplantaram largamente o Fortran fora dos círculos acadêmicos.[8] Depois disso, muitos códigos de física de larga escala migraram ou foram substituídos pelo C++,[9] linguagem mais usada modernamente para códigos de computação científica e HPC,[4][7][10] enquanto o Python domina a análise de dados.[9]

A linguagem é definida por norma ISO/IEC e sua atual revisão é Fortran 2023, ISO/IEC 1539:2023, publicada em novembro de 2023.[3]

  1. «Overall Options - Using the GNU Compiler Collection (GCC)». gcc.gnu.org (em inglês). Consultado em 13 de dezembro de 2017 
  2. a b c Reid, John (13 de março de 2023). [https:/ss/wg5-fortran.org/N2201-N2250/N2212.pdf «The new features of Fortran 2023»] Verifique valor |url= (ajuda) (PDF). wg5-fortran.org. Consultado em 6 de janeiro de 2024 
  3. a b «WG5 Fortran - Fortran 2023». wg5-fortran.org. Consultado em 6 de janeiro de 2024 
  4. a b Rassokhin, Dmitrii (7 de fevereiro de 2020). «The C++ programming language in cheminformatics and computational chemistry». Journal of Cheminformatics (1). 10 páginas. ISSN 1758-2946. PMC PMC7006409Acessível livremente Verifique |pmc= (ajuda). PMID 33431041. doi:10.1186/s13321-020-0415-y. Consultado em 6 de janeiro de 2024 
  5. Oliveira, Suely; Stewart, David E. (2006). Writing Scientific Software: A Guide to Good Style. Cambridge: Cambridge University Press. p. x. doi:https://doi.org/10.1017/CBO9780511617973c Verifique |doi= (ajuda). Fortran used to be the clear language of choice for scientific software. That has changed. Much scientific software is now written in C, C++, Java, Matlab, Ada, and languages other than Fortran. 
  6. Arvanitou, Elvira-Maria; Ampatzoglou, Apostolos; Chatzigeorgiou, Alexander; Carver, Jeffrey C. (1 de fevereiro de 2021). «Software engineering practices for scientific software development: A systematic mapping study». Journal of Systems and Software. 110848 páginas. ISSN 0164-1212. doi:10.1016/j.jss.2020.110848. Consultado em 9 de janeiro de 2024 
  7. a b Betcke, Timo; Scroggs, Matthew. «Languages for High-Performance Computing — Techniques of High-Performance Computing - Lecture Notes». tbetcke.github.io. Consultado em 6 de janeiro de 2024 
  8. «FORTRAN | Definition, Meaning, & Facts | Britannica». www.britannica.com (em inglês). Consultado em 7 de julho de 2022 
  9. a b Shipman, Galen M.; Randles, Timothy C. (3 de maio de 2023). «An evaluation of risks associated with relying on Fortran for mission critical codes for the next 15 years». Los Alamos National Laboratory. Consultado em 6 de janeiro de 2024 
  10. «The concepts of HPC: The formalization of hierarchical massively parallel computing | IEEE Conference Publication | IEEE Xplore». ieeexplore.ieee.org. Consultado em 6 de janeiro de 2024 


Erro de citação: Existem etiquetas <ref> para um grupo chamado "lower-alpha", mas não foi encontrada nenhuma etiqueta <references group="lower-alpha"/> correspondente


Developed by StudentB