Fortran

Fortran
Logo.
Dato for første versjon 1957
Paradigme Multi-paradigme: imperativ ( prosessuell , strukturert , objektorientert ), generisk
Forfatter John backus
Utvikler John Backus og IBM
Siste versjon Fortran 2018 (ISO / IEC 1539-1: 2018) (2018 28. )
Skrive sterk , statisk
Standarder ISO / IEC 1539
Påvirket av Hurtigkoding
Påvirket Algol 58 , BASIC , C , DOPE , PL / I , PACT I , MUMPS , Ratfor
Implementeringer Absoft, Cray , GFortran , G95 , IBM , Intel , Lahey / Fujitsu, Open Watcom , PathScale , PGI , Silverfrost , Oracle , XL Fortran , Visual Fortran, etc.
Operativsystem Multiplatform
Nettsted fortran-lang.org
Filutvidelse f, for og f90

Fortran ( matematisk FOR Mula TRAN slating system ) er en generell programmeringsspråk som hovedfelt er vitenskapelig databehandling og numerisk databehandling . Den brukes både på PC og superdatamaskiner , der den også brukes til å teste ytelsen deres innenfor rammen av TOP500- rangering av de mektigste superdatamaskinene i verden, takket være LINPACK- biblioteket .

Antall vitenskapelige biblioteker skrevet i Fortran, bevist og forbedret gjennom mange år, og den kontinuerlige innsatsen som er viet til kompilatorer for å utnytte de nye mulighetene til datamaskiner i løpet av flere tiår ( vektorisering , prosessorer , parallellisme ) har opprettholdt bruken av dette språket, som utvikle seg.

Blant funksjonene som er lagt til de siste tiårene, kan vi sitere beregning på matriser (som kan omfatte opptil femten dimensjoner), modulær programmering, generisk programmering (Fortran 90), høyytelsesberegning (Fortran 95), orientert programmering. Objekt og interoperabilitet med C språkbiblioteker (Fortran 2003), samtidig programmering (Fortran 2008) og native parallell databehandling (Coarray Fortran 2008/2018), i tillegg til OpenMP , OpenACC og bibliotekgrensesnitt Message Passing Interface .

Historie og versjoner

Prosjektet ble lansert i 1954, Fortran er det første programmeringsspråket på høyt nivå , spesielt etterfulgt av Lisp (1958), Algol (1958) og COBOL (1959). Det har gjennomgått mange endringer. Den har blitt standardisert siden midten av 1960-tallet og har blitt en ISO-standard siden Fortran 90. Hver versjon av standarden legger til funksjonalitet, muligens allerede implementert av kompilatorene i form av utvidelser til språket, eller tydeliggjør punkter som har forblitt tvetydige, men kan også foreldet gammel funksjonalitet.

Noen ganger er navnet på språket skrevet med store bokstaver (FORTRAN) for å betegne versjoner av språket opp til Fortran 77 fordi små bokstaver på den tiden ikke var en del av standarden, selv om de fleste kompilatorer støttet dem. På den annen side er det alltid skrevet med store bokstaver for gratis syntaksversjoner siden Fortran 90 . Til slutt brukes uttrykket "moderne Fortran" (moderne Fortran) mer og mer for å skille den nåværende språkformen fra dens historiske former, som det fremgår av titlene på de fleste angelsaksiske bøkene siden 2010.

Klassisk Fortran-periode

Mange industrielle koder er skrevet i Fortran ( Nastran , NAG og IMSL- biblioteker osv.), Og kompatibiliteten til de nye versjonene med de forrige er viktig, på bekostning av å beholde konsepter som ikke lenger er nødvendige. Av denne grunn er Fortran 90 fullstendig kompatibel med Fortran 77. Følgende versjoner av standarden har imidlertid innført inkompatibiliteter.

Moderne Fortran

Kildekode: format og syntaks

Gammelt fast format

Før Fortran 90- standarden som introduserte en "gratis" syntaks, brukte Fortran, opprettet i tiden med stansede kort (spesielt med FMS- systemet ), en layout tilpasset disse støttene. Kode starter fra 7 th  kolonnen og bør ikke overstige 72 th . Det ser da ut slik:

Også, før Fortran 90, mellomrom har ingen betydning mellom 7 th og 72 th  kolonner. Dermed kan sløyfen DO 10 I=1,5også skrives DO10I=1,5. På den annen side DO 10 I=1.5tilsvarer det å DO10I=1.5tilordne verdien 1,5 til variabelen DO10I. De 10 representerer her end-of-loop-etiketten, obligatorisk før Fortran 90: sistnevnte introduserte END DO, som allerede var støttet av mange kompilatorer som en utvidelse av Fortran 77-standarden. MIL-STD-1753-utvidelsen til det amerikanske departementet for Forsvaret hadde allerede introdusert dette END DOi Fortran 77 (i stedet for en instruksjon eller CONTINUE) allerede i 1978, men merkelappen forble obligatorisk.

De vanligste filtypene for det faste formatet er .fog .for, men dette er bare en konvensjon, og ingenting hindrer dem i å bli brukt med gratisformatet.

Moderne Fortran

Siden Fortran 90-standarden er kildekoden skrevet i et såkalt gratisformat: det er ikke lenger en bestemt kolonne, linjene er maksimalt 132 tegn (men de kan fortsettes med tegnet &), kommentarene blir introdusert ved et utropstegn (muligens plassert etter en Fortran-instruksjon). Den vanligste filtypen er da .f90, selv om programmet bruker funksjoner fra nyere standarder som Fortran 2018.

program degrad ! ================================================= ! Imprime une table de conversion degrés -> radians ! avec 32 chiffres significatifs (réels 128 bits) ! ================================================= use iso_fortran_env, only: wp=>real128 implicit none ! Déclaration des variables integer :: deg real(wp) :: radians(0:90) ! Déclaration des constantes real(wp), parameter :: pi = 4.0_wp * atan(1.0_wp) real(wp), parameter :: coeff = (2.0_wp * pi) / 360.0_wp character(*), parameter :: ligne_horizontale = "(49('-'))" ! Remplissage du tableau : radians = (/ (coeff * deg, deg=0,90) /) ! En-tête de la table write (*, ligne_horizontale) write (*, "('| Degrés |', 15(' '), 'Radians', 16(' '), '|')") write (*, ligne_horizontale) ! Affichage formaté do deg = 0, 90 write (*, "('| ', I2,' | ', F34.32,' |')") deg, radians(deg) end do ! Fin de la table write (*, ligne_horizontale) end program degrad

Merknader:

  • dette programmet er skrevet i moderne Fortran. Det krever en kompilator som implementerer grunnlagene til Fortran 2008-standarden;
  • instruksjonene uselar deg importere den indre modulen iso_fortran_envsom definerer konstanter, spesielt for hvilke typer realer som er tilgjengelige ( real32, real64, real128). Her importeres bare konstanten real128som vil bli utpekt av aliaset wp (arbeidspresisjon) . De reelle tallene som vises i programmet er suffiks av dette aliaset for å definere typen. Det vil derfor være tilstrekkelig å skifte ut real128ved real64eller real32for å modifisere på en koherent måte den numeriske presisjon brukt i hele programmet, så lenge som kompilatoren støtter den tilsvarende presisjon;
  • instruksjonen implicit nonegjør erklæringen om variabler obligatorisk. Historisk sett er det valgfritt i Fortran (variabler hvis navn begynner med en av bokstavene I, J, K, L, M eller N er som standard av typen integer, de andre av typen real), men denne mekanismen frarådes nå sterkt;
  • erklæringen avgis i begynnelsen av rutinen. Datatype og variabelnavn er atskilt med ::. Vi bruker heltallene som standard for deg. Nummereringen av tabellene starter som standard 1 i Fortran, men her får vi den til å starte 0 for tabellen radians(0:90). Konstanter, som kan beregnes, spesifiseres av attributtet parameter. Strengene har fast lengde, men her indikerer stjernen at lengden på strengen må defineres i henhold til lengden på innholdet;
  • innholdet i matrisen radians()beregnes ved hjelp av en konstruktør, med degløkkevariabelen som varierer fra 0 til 90. Fortran gjør det mulig å beregne direkte på matriser, vi kunne også ha skrevet radians = deg * (/ (coeff, deg=0,90) /) ;
  • instruksjonen writerefererer til en inngang / utgangsenhet ( *angir terminalen) og en formatspesifikasjon. Dette formatet er her lagret i strengen ligne_horizontaleog beskriver at 49 bindestreker må vises. Vi kunne også ha brukt en erklæring formatplassert på en annen linje og foran en numerisk etikett;
  • instruksjonen do deg = 0, 90indikerer å gjenta instruksjonene som følger (til end do) i løkke for alle verdiene degfra 0 til 90 i trinn på 1;
  • den writepå innsiden av sløyfen blir brukt for å skrive på de terminale variable verdier degog radians(deg)ved anvendelse av to tegn deg(som er et helt tall) og 34 figurer, inkludert 32 etter komma for radians(deg)som er et reelt tall.

Kompilatorer

Mange kommersielle eller gratis kompilatorer er tilgjengelige. Fordi Fortran er et standardisert språk, tar det vanligvis et antall år mellom utgivelsen av en ny standard og full støtte for de nye funksjonene i kompilatorene.

Nåværende kompilatorer

Gratis kompilatorer

Før versjon 4.0 inkluderte den gratis GCC- kompilatoren g77-kompilatoren for Fortran 77, som ble erstattet i 2005 av GFortran-kompilatoren, selv som en følge av en gaffel laget i 2003 fra G95 , en annen gratis kompilator utviklet mellom 2000 og januar 2013. I begynnelsen av 2021 støtter GFortran nesten fullt ut Fortran 2003, nesten hele Fortran 2008 og rundt 20% av Fortran 2018. I motsetning til Intel- og Cray-kompilatorene støtter den ennå ikke naturlig parallell programmering med medarrayer, men krever installasjon av OpenCoarrays-biblioteket .

Omni Compiler er en C- og Fortran-metakompilator for å transformere kode som inneholder XcalableMP og OpenACC-direktiver til naturlig parallell kode.

Proprietære kompilatorer

Det er mange kommersielle kompilatorer, inkludert: Lahey, Absoft, Portland Group  (in) (et datterselskap av NVidia ), NAG , etc. De fleste produsenter av arbeidsstasjoner eller datamaskiner beregnet på intensiv databehandling tilbyr også en Fortran-kompilator: Intel, IBM, Oracle (etter overtakelsen av Sun Microsystems ), HPE Cray ( Cray ble kjøpt opp av HP i 2019) osv. Intel Visual Fortran-kompilatoren er arvingen til DEC Visual Fortran, som ble Compaq Visual Fortran og deretter HP Visual Fortran.

Noen av disse kommersielle kompilatorene har gratis versjoner for ikke-kommersiell bruk: dette er tilfellet Oracle, Portland Group.

Når det gjelder Intel-kompilatorer, er de gratis siden januar 2021 for alle utviklere.

Kompilatorer under utvikling

I begynnelsen av 2021 er nye Fortran-kompilatorer basert på LLVM under utvikling: LFortran som har som mål å la kode testes interaktivt, Flang og Intel Fortran Compiler ifx.

Online kompilatorer

Fortran er et av språkene som tilbys av noen online kompilatorer, for eksempel codingground, OnlineGDB, JDOODLE og godbolt Compiler Explorer. Noen tilbyr valget mellom flere Fortran-kompilatorer eller flere versjoner av en kompilator, eller lar deg analysere koden med en feilsøkingsprogram og se maskinspråket generert. Disse verktøyene lar deg derfor lære språket uten å installere en kompilator på maskinen din, de lar deg også samarbeide online om et prosjekt.

Uvedlikeholdte kompilatorer

  • Open64  (en) er en gratis Fortran 95-kompilator som ble avviklet i 2011.
  • Gratis Open Watcom Fortran 77-kompilator: avviklet i 2010.
  • PathScale  (in)  : arrestert i 2013.
  • HP .
  • Unisys .
  • Noen produsenter har forsvunnet, for eksempel CDC eller DEC .

utviklingsverktøy

Integrerte redaktører og utviklingsmiljøer

De fleste tekstredigerere tilbyr syntaksmarkering for Fortran: Atom , Emacs , Notepad ++ , Sublime Text , Vim , Neovim , Visual Studio Code ... Blant de integrerte utviklingsmiljøene er det en dedikert versjon av Code :: Blocks-utvikling i Fortran. Det er også en versjon av Eclipse dedikert til Fortran, kalt Photran, men den siste versjonen av den er fra 2015. Under Windows er Intel Fortran-kompilatoren integrert i Visual Studio .

Pakkeleder og bygg systemer

Prosjektbyggingssystemer som CMake og Meson støtter vanligvis Fortran. Makedepf90-verktøyet brukes til å generere Make-filer for et Fortran-prosjekt.

Men Fortran har hatt fpm-pakkeleder (Fortran Package Manager) tilgjengelig siden slutten av 2020 , som også fungerer som et prosjektbyggingssystem. Den er inspirert av lasteverktøyet fra Rust- språket . Spesielt lar den deg administrere avhengigheter, som den kan laste ned automatisk fra GitHub.

Kodeverifisering og analyse

fpt er et Fortran-kodeanalyseringsverktøy. Vi kan også nevne CamFort, et gratis universitetsprosjekt, ftncheck, som er begrenset til Fortran 77 og som ikke har blitt utviklet siden 2005. findent er en kildekodeindenter som også kan forvandle det gamle faste formatet til Fortran til gratisformat. Endelig er PFUnit  (en) et rammeverk for testing av enheter , gratis og opprinnelig utviklet av NASA.

Dokumentasjonsgeneratorer

Blant dokumentasjonsgeneratorene som administrerer Fortran, kan vi sitere Doxygen , FORD og ROBODoc.

Biblioteker

Vitenskapelige databiblioteker

Mange beregningsbiblioteker er utviklet i Fortran. Noen er utviklet, brukt, testet og derfor feilsøkt i flere tiår, noe som gir dem stor pålitelighet.

Grafikkbiblioteker

Fortran-standarder inkluderer ikke grafiske instruksjoner eller instruksjoner for å bygge grafiske grensesnitt, visualisering kan gjøres etter utførelse med eksterne verktøy som ParaView , eller ved å ringe plotteverktøy som Gnuplot via instruksjonen. EXECUTE_COMMAND_LINE(), Eller til slutt ved hjelp av biblioteker  :

  • DISLIN: grafikkbibliotek opprettet av Max Planck Institute for Solar System Research. Tverrplattform ( UNIX , Linux, FreeBSD , OpenVMS, Windows og MS-DOS). Fungerer med mange kompilatorer, så vel som andre språk enn Fortran. Gratis for ikke-kommersiell bruk.
  • GrWin Graphics Library: gratis programvare for Windows.
  • gtk-fortran: GTK / Fortran- grensesnitt ved bruk av ISO_C_BINDING-modulen (Fortran> 2003). Multiplatform (Linux, Windows, macOS, FreeBSD, Raspberry Pi ...). GPL 3. lisens. Støtter både GTK 3 og GTK 4, samt GLib og PLplot .
  • JAPI (Java Application Programming Interface): Java / Fortran-grensesnitt som brukes til å lage et komplett grafisk grensesnitt for Fortran-programmer. Tverrplattform (Windows, Linux, Solaris ). Fungerer med mange kompilatorer (inkludert gfortran, Compaq Visual Fortran ...). Gratis programvare lisensiert under LGPL.
  • ogpf gir enkel tilgang til gnuplot fra et Fortran-program, takket være bruken av objektorientert programmering. Den kan brukes som en fpm-pakke.
  • PLplot  (en)  : bibliotek for tegning av vitenskapelige grafer. Flerspråklig og multiplatforms (Linux, OpenSolaris , Unix , MS-DOS, Windows, Mac OS X). Gratis programvare lisensiert under LGPL.
  • Quickwin: grafikkbibliotek leveres med Compaq Visual Fortran (nå Intel Visual Fortran). Fungerer bare på Windows.
  • Winteracter: konstruksjon av grafiske grensesnitt og visualiseringsverktøy. Kommersiell programvare for Windows, Linux og MacOS X.
  • GINO: konstruksjon av grafiske grensesnitt og visualiseringsverktøy. Kommersiell programvare for Windows og Linux.
  • MATFOR: konstruksjon av grafiske grensesnitt og digitale og grafiske biblioteker for Fortran og andre språk. Kommersiell programvare for Windows og Linux.

I begynnelsen av 2021 har følgende biblioteker ikke blitt opprettholdt i minst 10 år:

  • f90gl: Fortran 90-grensesnitt med OpenGL, GLU og GLUT. Multiplatforms. Fungerer med mange kompilatorer. Lisens: offentlig domene.
  • Ftcl: Fortran- Tcl / TK- grensesnitt . gratis, åpen kildekode.
  • g2 grafisk bibliotek: for Linux, AIX , Digital Unix , SunOS , IRIX , OpenVMS , Windows. Gratis programvare lisensiert under LGPL.
  • PGPLOT  (in)  : grafisk rutinebibliotek , interaktivt, gratis plattform, støtter mange utdataenheter.
  • pilib (Platform Independent Library for Fortran): Fortran 90-95 / GTK-grensesnitt. Utviklingen stoppet. Gratis programvare.
  • PSPLOT: generer tegninger i PostScript .
  • SansGUI: kommersielt grensesnitt for Windows og Compaq Visual Fortran.
  • Xeffort: grafikkbibliotek for Visual Fortran. Gratis programvare for Windows.

Andre språk for vitenskapelig databehandling

Fortran gni nå skuldrene med mange andre språk og programvare for vitenskapelig databehandling, spesielt:

  • C og C ++ ,
  • språk tolket som Python takket være biblioteker som NumPy og SciPy , hvor noen deler også er skrevet i Fortran,
  • Julia ,
  • R (språk) , fokusert på statistikk og dataanalyse,
  • programvare som Scilab , MATLAB eller GNU Octave . Scilab og MATLAB også innlemme BLAS og LAPACK biblioteker , utviklet i Fortran. MATLAB var opprinnelig et program i Fortran, distribuert til universiteter og forskningssentre.

I tillegg ble det utviklet programmeringsspråk på 2000-tallet for å lette parallell programmeringsuperdatamaskiner , et område der Fortran er mye brukt. Vi kan sitere X10 , utviklet av IBM siden 2004, og Chapel , utviklet av Cray siden 2009. Et annet språk, Fortress , dukket opp i 2006 og utviklet av Sun Microsystems , ble forlatt i 2012. Disse tre språkene er en del av High Productivity.  prosjekt. Computing Systems (i) den DARPA .

Merknader og referanser

  1. Se også nettstedene til arbeidsgruppen 5 og J3-komiteen for mer informasjon om den nåværende utviklingen av standarden.
  2. Vær imidlertid oppmerksom på at det i Fortran første anvisningen (1956) , er navnet skrevet med en F i blokkbokstaver og de andre bokstavene i små blokkbokstaver.
  3. Foreløpig rapport, spesifikasjoner for IBM Mathematical FORmula TRANslating System, FORTRAN [PDF] .
  4. "  John Backus  "IBM Archives (åpnet 10. november 2014 ) .
  5. spurte om det, John Backus forklart i et intervju, at det ikke kunne være noe annet, selv om det i 1990 noen par informatikkstudenter kunne skrive en i noen måneder: "Vi hadde ikke begreper. Vi hadde ikke verktøyene heller ” . Han forklarer i samme intervju at det som hadde gitt teamet mest arbeid var generering av kode som indekserte matriser på en ikke altfor ineffektiv måte.
  6. (i) John Backus , "  Historien om FORTRAN I, II og III  " , ACM SIGPLAN Records , vol.  13, n o  8,August 1978, s.  165-180 ( DOI  10.1145 / 960118.808380 , les online ).
  7. (i) Irving N. Rabinowitz, "  Rapport om det algoritmiske språket FORTRAN II  " , Communications of the ACM , vol.  5, n o  6,Juni 1962, s.  327-337 ( DOI  10.1145 / 367766.368151 ).
  8. Fortran II referansehåndbok for IBM 704 (1958)
  9. Beskrivelse av / 360 WATFOR - En Fortran IV-kompilator
  10. [PDF] ECMA Fortran Standard .
  11. [PDF] Standard Fortran 66 .
  12. John Backus AM Turing Award (1977) .
  13. [PDF] Standard Fortran 77 .
  14. (in) Frank Engel, Jr., "  Draft Proposed ANS FORTRAN BSR X3J3 X3.9 / 76  " , ACM SIGPLAN Records , vol.  11 n o  3,Mars 1976, s.  1-212 ( DOI  10.1145 / 956013.1070892 ).
  15. [PDF] MIL-STD-1753, Military Standard: Fortran, DOD-tillegget til American National Standard X3.9-1978 .
  16. “  Net.lang.f77 Diskusjonsgruppe kunngjort,  ”groups.google.com ( besøkt 18. april 2021 )
  17. "  comp.lang.fortran - Google Groups  " , på groups.google.com (åpnet 18. april 2021 )
  18. [PDF] Standard Fortran 90 .
  19. IEEE 1003.9-1992 - POSIX (R) FORTRAN 77 språkgrensesnitt - Del 1: Binding for systemapplikasjonsgrensesnitt (API) .
  20. ISO / IEC 1539-2: 1994 - Informasjonsteknologi - Programmeringsspråk - FORTRAN - Del 2: Varierende tegnstrenger .
  21. ISO / IEC 1539-2: 2000 - Informasjonsteknologi - Programmeringsspråk - Fortran - Del 2: Varierende tegnstrenger .
  22. [PDF] Standard Fortran 95 .
  23. ISO / IEC 1539-3: 1999 - Informasjonsteknologi - Programmeringsspråk - Fortran - Del 3: Betinget kompilering .
  24. [PDF] Standard Fortran 2003 .
  25. Initiert av Simula 67 og popularisert av C ++ og Java .
  26. [PDF] Standard Fortran 2008 .
  27. [PDF] Standard Fortran 2018 .
  28. "  index | TIOBE - The Software Quality Company  ” , på www.tiobe.com (åpnet 18. april 2021 )
  29. Fortran 202x - Utviklingsplan .
  30. WD 1539-1 J3 / 21-007 (Utkast til Fortran 202x) , 16. desember 2020
  31. MIL-STD-1753 .
  32. Utvidelser med store bokstaver F, som .F90vanligvis tolkes av kompilatorer som indikerer behovet for å bruke en Fortran preprosessor før kompilering.
  33. (in) Metcalf, Michael; Reid, John; Cohen, Malcolm, Modern Fortran Explained: Incorporating Fortran 2018 , Oxford Univ. Trykk,november 2018( ISBN  978-0198811886 )
  34. Kompilatorstøtte for Fortran 2003 Standard .
  35. Kompilatorstøtte for Fortran 2008 Standard .
  36. Kopi av gammelt g77- nettsted på USGS-nettsted .
  37. GCC 4.0 versjons Series - Endringer, nye funksjoner og feilrettinger .
  38. Kildekode for GCC 4.0.0 .
  39. GCC Wiki - GFortran .
  40. gfortran - Fortran 2003 status .
  41. gfortran - Fortran 2008 status .
  42. gfortran - Fortran 2018 status .
  43. (in) "  OpenCoarrays  "OpenCoarrays (åpnet 12. april 2021 )
  44. Omni Compiler .
  45. Lahey Fortran .
  46. Absoft Fortran .
  47. Portland Group Fortran .
  48. Intel Fortran Compilers .
  49. IBM - Fortran Compilers-familien .
  50. Oracle Solaris Studio .
  51. CrayDoc - Kundedokumentasjon 0
  52. Nedlasting Oracle Solaris Studio .
  53. PGI Community Edition , for Linux og macOS.
  54. Gratis Intel-kompilatorer for alle utviklere .
  55. LFortran
  56. Flens
  57. Intel Fortran Compiler ifx
  58. Codingground online kompilator .
  59. OnlineGDB online kompilatoren .
  60. JDOODLE online kompilator .
  61. godbolt Compiler Explorer Online Compiler .
  62. Åpne Watcom .
  63. PathScale EKOPath .
  64. Bitsavers - dokumentasjon av gamle datamaskiner .
  65. (in) Darmar , "  Kode :: Blokkerer IDE for Fortran  "CBFortran ,4. mars 2021(åpnet 11. april 2021 )
  66. (i) Jeffrey Overbey , "  photran - et integrert utviklingsmiljø og Refactoring Tool for Fortran | Eclipse Foundation  ” , på www.eclipse.org (åpnet 11. april 2021 )
  67. Intel Compilers-kompatibilitet med Microsoft Visual Studio og Xcode
  68. "  makedepf90 verktøy  "
  69. Fortran Package Manager fpm .
  70. www.simconglobal.com , “  WinFPT og ftp - Fortran Engineering - Sammendrag  ” , på simconglobal.com (åpnet 11. april 2021 )
  71. CamFort
  72. fthcneck
  73. "  findent, Fortran kildekode indenter.  "
  74. Bekreftelse av Fortran-koder
  75. Fortran-FOSS-Programmers / ford , Fortran F / OSS Programmers Group,12. april 2021( les online )
  76. "  ROBODoc  " , på rfsber.home.xs4all.nl (åpnet 18. april 2021 )
  77. http://www.netlib.org/lapack/ .
  78. DISLIN
  79. GrWin grafikkbibliotek
  80. gtk-fortran
  81. JAPI (Java Application Programming Interface)
  82. "  ogpf, gnuplot-grensesnitt i objektorientert Fortran  "
  83. PLott
  84. Quickwin
  85. Winteracter
  86. GINO
  87. MATFOR
  88. For eksempel GSL skrevet i C, og Blitz ++ eller IML ++ , i C ++.
  89. MATLAB inneholder LAPACK .
  90. Utviklingssamfunn i Scilab .
  91. Kildekode for den første versjonen av MATLAB .

Se også

Bibliografi

  • Ed Akin , objektorientert programmering via Fortran 90/95 , Cambridge University Press,13. januar 2003, 1 st  ed. ( ISBN  978-0-521-52408-7 og 978-0-511-53011-1 , les online )
  • Walter S. Brainerd , Guide to Fortran 2003 Programming , London, Springer London,2009( ISBN  978-1-84882-543-7 , les online )
  • Norman S. Clerman og Walter Spector , Modern Fortran: Style and Usage , Cambridge, Cambridge University Press,2011( ISBN  978-1-139-02768-7 , les online )
  • Richard J. Hanson og Tim Hopkins , Numerical Computing with Modern Fortran , Philadelphia, PA, Society for Industrial and Applied Mathematics,Januar 2013( ISBN  978-1-61197-312-9 , les online )
  • Claude Delannoy , programmerer i FORTRAN - Fortran 90 og dens utvikling - FORTRAN 95, 2003 og 2008 , Librairie Eyrolles,februar 2015( ISBN  978-2-212-14020-0 , les online )
  • Ian Chivers og Jane Sleightholme , introduksjon til programmering med Fortran , Cham, Springer International Publishing,2018( ISBN  978-3-319-75502-1 , les online )
  • Michael Metcalf , John Reid og Malcolm Cohen , Modern Fortran Explained: Incorporating Fortran 2018 , Oxford University Press ( ISBN  978-0-19-185002-8 , les online )
  • Robert W. Numrich , Parallel Programming with Co-arrays , Første utgave. | Boca Raton, FL: CRC Press / Taylor & Francis, Chapman and Hall / CRC,6. september 2018, 1 st  ed. ( ISBN  978-0-429-43718-2 , les online )
  • Milan Curcic , Modern Fortran: Bygge effektive parallelle applikasjoner , Manning Publications,24. november 2020, 1. utgave  utg. ( ISBN  978-1-61729-528-7 )

Relaterte artikler

Eksterne linker