Fortran

Fortran
Siglă.
Data primei versiuni 1957
Paradigmă Multi-paradigmă: imperativ ( procedural , structurat , orientat spre obiect ), generic
Autor John Backus
Dezvoltator John Backus și IBM
Ultima versiune Fortran 2018 (ISO / IEC 1539-1: 2018) (2018 noiembrie 28 )
Tastare puternic , static
Standarde ISO / IEC 1539
Influențată de Speedcoding
Influențat Algol 58 , BASIC , C , DOPE , PL / I , PACT I , MUMPS , Ratfor
Implementări Absoft, Cray , GFortran , G95 , IBM , Intel , Lahey / Fujitsu, Open Watcom , PathScale , PGI , Silverfrost , Oracle , XL Fortran , Visual Fortran etc.
Sistem de operare Multiplatform
Site-ul web fortran-lang.org
Extensie de fișier f, pentru și f90

Fortran ( matematică PENTRU Mula TRAN slating sistem ) este un scop general limbaj de programare al cărui domeniu principal este de calcul științific și de calcul numeric . Este utilizat atât pe computerul personal, cât și pe supercomputerele , unde este, de asemenea, utilizat pentru a testa performanța acestora în cadrul clasamentului TOP500 al celor mai puternice supercomputere din lume, datorită bibliotecii LINPACK .

Numărul de biblioteci științifice scrise în Fortran, dovedit și îmbunătățit de-a lungul mai multor ani, și eforturile continue dedicate compilatorilor de a exploata de-a lungul deceniilor noile posibilități ale computerelor ( vectorizare , coprocesoare , paralelism ) au menținut utilizarea acestui limbaj care continuă să evolua.

Printre caracteristicile adăugate în ultimele decenii, putem cita calculul pe tablouri (care pot include până la cincisprezece dimensiuni), programare modulară, programare generică (Fortran 90), calcul de înaltă performanță (Fortran 95), programare orientată. Obiect și interoperabilitate cu C biblioteci de limbaje (Fortran 2003), programare concurentă (Fortran 2008) și calcul paralel nativ (Coarray Fortran 2008/2018), în plus față de OpenMP , OpenACC și interfețe de bibliotecă Interfață de transmitere a mesajelor .

Istorie și versiuni

Proiect lansat în 1954, Fortran este primul limbaj de programare la nivel înalt , urmat în special de Lisp (1958), Algol (1958) și COBOL (1959). A suferit multe schimbări. A fost standardizat de la mijlocul anilor 1960 și a devenit un standard ISO de la Fortran 90. Fiecare versiune a standardului adaugă funcționalitate, posibil deja implementată de compilatori sub formă de extensii la limbă, sau clarifică punctele care au rămas ambigue, dar poate, de asemenea, să depășească vechea funcționalitate.

Numele limbii este scris uneori în mod convențional cu majuscule (FORTRAN) pentru a desemna versiuni ale limbii până la Fortran 77, deoarece la acea vreme literele mici nu făceau parte din standard, chiar dacă majoritatea compilatoarelor le susțineau. Pe de altă parte, este întotdeauna scris cu o majusculă pentru versiunile de sintaxă gratuite de la Fortran 90 . În sfârșit, expresia „Fortran modern” (Fortran modern) este utilizată tot mai mult pentru a distinge forma actuală a limbajului de formele sale istorice, dovadă fiind titlurile majorității cărților anglo-saxone din 2010.

Perioada clasică Fortran

Multe coduri industriale au fost scrise în Fortran ( bibliotecile Nastran , NAG și IMSL etc.) și compatibilitatea noilor versiuni cu versiunile anterioare este esențială, cu prețul păstrării conceptelor care nu mai sunt necesare. Din acest motiv, Fortran 90 este complet compatibil cu Fortran 77. Următoarele versiuni ale standardului au introdus totuși incompatibilități.

Fortran modern

Cod sursă: format și sintaxă

Vechi format fix

Înainte de standardul Fortran 90 care a introdus o sintaxă „gratuită”, Fortran, creat în era cărților perforate (în special cu sistemul FMS ), folosea un aspect adaptat acestor suporturi. Cod pornește de la 7 th  coloana și nu trebuie să depășească 72 - lea . Apoi arată astfel:

De asemenea, înainte de a Fortran 90, spații nu au nici o semnificație între 7 - lea și 72 - lea  coloane. Astfel, bucla DO 10 I=1,5poate fi, de asemenea, scrisă DO10I=1,5. Pe de altă parte, DO 10 I=1.5este echivalent cu DO10I=1.5, atribuind valoarea 1,5 variabilei DO10I. 10 reprezintă aici eticheta de sfârșit de buclă, obligatorie înainte de Fortran 90: acesta din urmă a introdus END DO, care a fost deja susținut de mulți compilatori ca o extensie la standardul Fortran 77. Extensia MIL-STD-1753 a Departamentului SUA pentru Apărarea a introdus deja acest lucru END DOîn Fortran 77 (în locul unei instrucțiuni sau CONTINUE), încă din 1978, dar eticheta a rămas obligatorie.

Cele mai comune extensii de fișiere pentru formatul fix sunt .fși .for, dar aceasta este doar o convenție și nimic nu le împiedică să fie utilizate cu formatul gratuit.

Fortran modern

De la standardul Fortran 90, codul sursă este scris într-un așa-numit format liber: nu mai există o anumită coloană, liniile sunt de maximum 132 de caractere (dar pot fi continuate folosind caracterul &), comentariile sunt introduse printr-un punct de exclamare (eventual plasat după o instrucțiune Fortran). Cea mai comună extensie de nume de fișier este atunci .f90, chiar dacă programul folosește caracteristici de la standarde mai noi, cum ar fi 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

Note:

  • acest program este scris în Fortran modern. Necesită un compilator care să implementeze bazele standardului Fortran 2008;
  • instrucțiunea usevă permite să importați modulul intrinsec iso_fortran_envcare definește constantele, în special pentru tipurile de reale disponibile ( real32, real64, real128). Aici este importată doar constanta real128care va fi desemnată de alias wp (precizie de lucru) . Numerele reale care apar în program sunt sufixate de acest alias pentru a defini tipul lor. Prin urmare, ar fi suficient să se înlocuiască real128cu real64sau de real32a modifica într - un mod coerent precizia numerică utilizată în întregul program, atâta timp cât compilatorul susține precizia corespunzătoare;
  • instrucțiunea implicit noneobligă declararea variabilelor. Din punct de vedere istoric, este opțional în Fortran (variabilele al căror nume începe cu una dintre literele I, J, K, L, M sau N sunt implicit de tip integer, celelalte de tip real), dar acest mecanism este acum puternic descurajat;
  • declarația se face la începutul rutinei. Tipul de date și numele variabilelor sunt separate prin ::. Folosim numerele întregi în mod implicit pentru deg. Numerotarea tabelelor începe implicit la 1 în Fortran, dar aici o facem să înceapă la 0 pentru tabel radians(0:90). Constantele, care pot fi calculate, sunt specificate de atribut parameter. Corzile sunt de lungime fixă, dar aici steaua indică faptul că lungimea corzii trebuie definită în funcție de lungimea conținutului său;
  • conținutul tabloului radians()este calculat folosind un constructor, cu degvariabila de buclă variind de la 0 la 90. Fortran făcând posibilă calcularea direct pe matrice, am fi putut scrie și radians = deg * (/ (coeff, deg=0,90) /) ;
  • instrucțiunea writese referă la o unitate de intrare / ieșire ( *desemnează terminalul) și o specificație de format. Acest format este stocat aici în șir ligne_horizontaleși descrie că trebuie afișate 49 de liniuțe. Am fi putut folosi și o declarație formatsituată pe o altă linie și precedată de o etichetă numerică;
  • instrucțiunea do deg = 0, 90indică repetarea în buclă a instrucțiunilor care urmează (până end do) pentru toate valorile de degla 0 la 90 în pași de 1;
  • writeinteriorul buclei este folosit pentru a scrie pe valorile variabile terminale degși radians(deg)prin utilizarea a două caractere deg(care este un număr întreg) și 34 de caractere , inclusiv 32 după virgulă pentru radians(deg)care este un număr real.

Compilatoare

Sunt disponibile multe compilatoare comerciale sau gratuite. Deoarece Fortran este un limbaj standardizat, durează de obicei câțiva ani între lansarea unui nou standard și sprijinul complet al noilor sale caracteristici în compilatoare.

Compilatoare actuale

Compilatoare gratuite

Înainte de versiunea 4.0, compilatorul GCC gratuit a inclus compilatorul g77 pentru Fortran 77, care a fost înlocuit în 2005 de compilatorul GFortran, el însuși rezultat dintr-o furcă realizată în 2003 din G95 , un alt compilator gratuit dezvoltat între 2000 și ianuarie 2013. La început din 2021, GFortran acceptă aproape pe deplin Fortran 2003, aproape toate Fortran 2008 și aproximativ 20% din Fortran 2018. Spre deosebire de compilatoarele Intel și Cray, acesta nu acceptă încă în mod nativ programarea paralelă cu co-arrays, dar necesită instalarea bibliotecii OpenCoarrays .

Omni Compiler este un meta-compilator C și Fortran pentru transformarea codului care conține directivele XcalableMP și OpenACC în cod paralel nativ.

Compilatoare proprietare

Există multe compilatoare comerciale, inclusiv: Lahey, Absoft, Portland Group  (în) (o filială a NVidia ), NAG etc. Majoritatea producătorilor de stații de lucru sau computere destinate calculelor intensive oferă și un compilator Fortran: Intel, IBM, Oracle (după preluarea Sun Microsystems ), HPE Cray ( Cray a fost achiziționat de HP în 2019) etc. Compilatorul Intel Visual Fortran este moștenitorul DEC Visual Fortran, care a devenit Compaq Visual Fortran, apoi HP Visual Fortran.

Unele dintre aceste compilatoare comerciale au versiuni gratuite pentru uz necomercial: acesta este cazul Oracle, Portland Group.

În ceea ce privește compilatoarele Intel, din ianuarie 2021 acestea sunt gratuite pentru toți dezvoltatorii.

Compilatoare în curs de dezvoltare

La începutul anului 2021, sunt în curs de dezvoltare noi compilatoare Fortran bazate pe LLVM : LFortran care urmărește să permită testarea codului interactiv, Flang și Intel Fortran Compiler ifx.

Compilatoare online

Fortran este una dintre limbile oferite de unele compilatoare online, cum ar fi codingground, OnlineGDB, JDOODLE și godbolt Compiler Explorer. Unii oferă alegerea între mai multe compilatoare Fortran sau mai multe versiuni ale unui compilator sau vă permit să analizați codul cu un depanator și să vedeți limbajul mașinii generat. Prin urmare, aceste instrumente vă permit să învățați limba fără a instala un compilator pe mașina dvs., de asemenea, vă permit să colaborați online la un proiect.

Compilatoare neîntreținute

  • Open64  (ro) este un compilator gratuit Fortran 95 întrerupt în 2011.
  • Compilator Open Open Watcom Fortran 77: întrerupt în 2010.
  • PathScale  (în)  : arestat în 2013.
  • HP .
  • Unisys .
  • Unii producători au dispărut, precum CDC sau DEC .

instrumente de dezvoltare

Editorii și mediile de dezvoltare integrate

Majoritatea editorilor de text oferă evidențierea sintaxei pentru Fortran: Atom , Emacs , Notepad ++ , Sublime Text , Vim , Neovim , Visual Studio Code ... Printre mediile de dezvoltare integrată , există o versiune dedicată a dezvoltării Code :: Blocks în Fortran. Există, de asemenea, o versiune a Eclipse dedicată Fortran, numită Photran, dar cea mai recentă versiune datează din 2015. Sub Windows , compilatorul Intel Fortran este integrat în Visual Studio .

Manager de pachete și sisteme de construcție

Sistemele de construire a proiectelor, cum ar fi CMake și Meson, susțin de obicei Fortran. Utilitarul makedepf90 este utilizat pentru a genera fișiere Make pentru un proiect Fortran.

Dar Fortran are managerul de pachete fpm (Fortran Package Manager) disponibil de la sfârșitul anului 2020 , care acționează și ca un sistem de construire a proiectelor. Este inspirat de instrumentul Cargo din limbajul Rust . În special, vă permite să gestionați dependențe, pe care le poate descărca automat de pe GitHub.

Verificarea și analiza codului

fpt este un instrument de analiză a codului Fortran. Putem menționa, de asemenea, CamFort, un proiect universitar gratuit, ftncheck, care este limitat la Fortran 77 și care nu a fost dezvoltat din 2005. findent este un indenter de cod sursă care poate transforma și vechiul format fix al Fortran în format liber. În cele din urmă, PFUnit  (ro) este un cadru de testare unitar , gratuit și inițial dezvoltat de NASA.

Generatoare de documentație

Printre generatorii de documentație care gestionează Fortran, putem cita Doxygen , FORD și ROBODoc.

Biblioteci

Biblioteci de calcul științifice

Multe biblioteci de calcul au fost dezvoltate în Fortran. Unele au fost dezvoltate, utilizate, testate și, prin urmare, depanate de zeci de ani, ceea ce le conferă o mare fiabilitate.

Biblioteci de grafică

Standarde Fortran nu includ instrucțiuni grafice sau instrucțiuni pentru construirea interfețe grafice, vizualizare se poate face după executarea cu instrumente externe , cum ar fi ParaView , sau prin apel la instrumente de trasare , cum ar fi gnuplot prin intermediul instrucțiunii. EXECUTE_COMMAND_LINE(), Sau în cele din urmă folosind biblioteci  :

  • DISLIN: bibliotecă grafică creată de Institutul Max Planck pentru Cercetarea Sistemului Solar. Cross-platform ( UNIX , Linux, FreeBSD , OpenVMS, Windows și MS-DOS). Funcționează cu multe compilatoare, precum și cu alte limbi decât Fortran. Gratuit pentru uz necomercial.
  • GrWin Graphics Library: software gratuit pentru Windows.
  • gtk- fortran: interfață GTK / Fortran, utilizând modulul ISO_C_BINDING (Fortran> 2003). Multiplatform (Linux, Windows, macOS, FreeBSD, Raspberry Pi ...). Licență GPL 3. Suportă atât GTK 3, cât și GTK 4, precum și GLib și PLplot .
  • JAPI (Java Application Programming Interface): interfață Java / Fortran utilizată pentru a crea o interfață grafică completă pentru programele Fortran. Cross-platform (Windows, Linux, Solaris ). Funcționează cu mulți compilatori (inclusiv gfortran, Compaq Visual Fortran ...). Software gratuit licențiat sub LGPL.
  • ogpf permite accesul ușor la gnuplot dintr-un program Fortran, datorită utilizării programării orientate pe obiecte. Poate fi folosit ca pachet fpm.
  • PLplot  (ro)  : bibliotecă pentru desenarea de grafice științifice. Multilingv și multiplatforme (Linux, OpenSolaris , Unix , MS-DOS, Windows, Mac OS X). Software gratuit licențiat sub LGPL.
  • Quickwin: bibliotecă grafică furnizată împreună cu Compaq Visual Fortran (acum Intel Visual Fortran). Funcționează numai pe Windows.
  • Winteracter: construirea de interfețe grafice și instrumente de vizualizare. Software comercial pentru Windows, Linux și MacOS X.
  • GINO: construirea de interfețe grafice și instrumente de vizualizare. Software comercial pentru Windows și Linux.
  • MATFOR: construirea de interfețe grafice și biblioteci digitale și grafice pentru Fortran și alte limbi. Software comercial pentru Windows și Linux.

La începutul anului 2021, următoarele biblioteci nu au fost întreținute de cel puțin 10 ani:

  • f90gl: interfață Fortran 90 cu OpenGL, GLU și GLUT. Multiplatforme. Funcționează cu mulți compilatori. Licență: domeniu public.
  • Ftcl: interfața Fortran- Tcl / TK. gratuit, open-source.
  • bibliotecă grafică g2: pentru Linux, AIX , Digital Unix , SunOS , IRIX , OpenVMS , Windows. Software gratuit licențiat sub LGPL.
  • PGPLOT  (in)  : bibliotecă de rutine grafice, interactivă, gratuită, multiplataforma, acceptă multe dispozitive de ieșire.
  • pilib (Platform Independent Library for Fortran): interfață Fortran 90-95 / GTK. Dezvoltarea sa oprit. Software gratuit.
  • PSPLOT: generați desene în PostScript .
  • SansGUI: interfață comercială pentru Windows și Compaq Visual Fortran.
  • Xeffort: bibliotecă grafică pentru Visual Fortran. Software gratuit pentru Windows.

Alte limbi pentru calcul științific

Fortran se uită acum la multe alte limbaje și software pentru calcul științific, în special:

  • C și C ++ ,
  • limbi interpretate precum Python datorită bibliotecilor precum NumPy și SciPy , dintre care unele părți sunt scrise și în Fortran,
  • Julia ,
  • R (limba) , axat pe statistici și analiza datelor,
  • software precum Scilab , MATLAB sau GNU Octave . Scilab și MATLAB încorporează, de asemenea , bibliotecile BLAS și LAPACK , dezvoltate în Fortran. MATLAB a fost inițial un program în Fortran, distribuit universităților și centrelor de cercetare.

În plus, limbajele de programare au fost dezvoltate în anii 2000 pentru a facilita programarea paralelă pe supercalculatoare , o zonă în care Fortran este utilizat pe scară largă. Putem cita X10 , dezvoltat de IBM din 2004, și Chapel , dezvoltat de Cray din 2009. O altă limbă, Fortress , apărută în 2006 și dezvoltată de Sun Microsystems , a fost abandonată în 2012. Aceste trei limbi fac parte din Productivitatea înaltă  proiect. Sisteme de calcul (in) DARPA .

Note și referințe

  1. Vezi și site-urile web ale Grupului de lucru 5 și ale comitetului J3 pentru mai multe informații despre evoluția actuală a standardului.
  2. Rețineți, totuși, că în primul manual al lui Fortran (1956) , numele este scris cu un F cu majuscule și cu celelalte litere cu majuscule mici.
  3. Raport preliminar, Specificații pentru sistemul de matematică IBM FORmula TRANslating, FORTRAN [PDF] .
  4. „  John Backus  ” pe IBM Archives (accesat la 10 noiembrie 2014 ) .
  5. Întrebat despre asta, John Backus a explicat într-un interviu că nu ar putea fi altfel, deși în 1990 orice pereche de studenți în informatică ar putea scrie unul în câteva luni: „Nu am avut conceptele. Nici noi nu am avut instrumentele ” . El explică în același interviu că ceea ce a dat echipei cel mai mult de lucru a fost generarea de cod care a indexat matricele într-un mod nu prea ineficient.
  6. (în) John Backus , "  Istoria FORTRAN I, II și III  " , ACM SIGPLAN Records , vol.  13, n o  8,August 1978, p.  165-180 ( DOI  10.1145 / 960118.808380 , citiți online ).
  7. (în) Irving N. Rabinowitz, „  Raport asupra limbajului algoritmic FORTRAN II  ” , Communications of the ACM , vol.  5, n o  6,Iunie 1962, p.  327-337 ( DOI  10.1145 / 367766.368151 ).
  8. Manual de referință Fortran II pentru IBM 704 (1958)
  9. Descrierea / 360 WATFOR - Un compilator Fortran IV
  10. [PDF] ECMA Fortran Standard .
  11. [PDF] Standard Fortran 66 .
  12. Premiul John Backus AM Turing (1977) .
  13. [PDF] Standard Fortran 77 .
  14. (în) Frank Engel, Jr., "  Proiect proiectat ANS FORTRAN BSR X3J3 X3.9 / 76  " , ACM SIGPLAN Records , vol.  11, n o  3,Martie 1976, p.  1-212 ( DOI  10.1145 / 956013.1070892 ).
  15. [PDF] MIL-STD-1753, Standard militar: Fortran, Supliment DOD la Standardul Național American X3.9-1978 .
  16. „  Grupul de discuții Net.lang.f77 anunțat  ” , la groups.google.com (accesat la 18 aprilie 2021 )
  17. „  comp.lang.fortran - Grupuri Google  ” , la groups.google.com (accesat la 18 aprilie 2021 )
  18. [PDF] Standard Fortran 90 .
  19. IEEE 1003.9-1992 - POSIX (R) FORTRAN 77 Interfețe lingvistice - Partea 1: Legare pentru interfața programului de aplicație a sistemului (API) .
  20. ISO / IEC 1539-2: 1994 - Tehnologia informației - Limbaje de programare - FORTRAN - Partea 2: Șiruri de caractere cu lungime variabilă .
  21. ISO / IEC 1539-2: 2000 - Tehnologia informației - Limbaje de programare - Fortran - Partea 2: Șiruri de caractere cu lungime variabilă .
  22. [PDF] Standard Fortran 95 .
  23. ISO / IEC 1539-3: 1999 - Tehnologia informației - Limbaje de programare - Fortran - Partea 3: Compilație condiționată .
  24. [PDF] Standard Fortran 2003 .
  25. Inițiat de Simula 67 și popularizat de C ++ și Java .
  26. [PDF] Standard Fortran 2008 .
  27. [PDF] Fortran standard 2018 .
  28. "  index | TIOBE - Compania de calitate software  ” , pe www.tiobe.com (accesat la 18 aprilie 2021 )
  29. Fortran 202x - Program de dezvoltare .
  30. WD 1539-1 J3 / 21-007 (Proiect Fortran 202x) , 16 decembrie 2020
  31. MIL-STD-1753 .
  32. Extensii cu F majuscule, așa cum .F90sunt interpretate în general de compilatoare ca indicând necesitatea de a utiliza un preprocesator Fortran înainte de compilare.
  33. (în) Metcalf, Michael; Reid, John; Cohen, Malcolm, Modern Fortran Explained: Incorporating Fortran 2018 , Oxford Univ. Presa,noiembrie 2018( ISBN  978-0198811886 )
  34. Suport pentru compilator pentru standardul Fortran 2003 .
  35. Suport pentru compilator pentru standardul Fortran 2008 .
  36. Copie a site-ului vechi g77 pe site-ul USGS .
  37. Seria de versiuni GCC 4.0 - Modificări, caracteristici noi și remedieri .
  38. Codul sursă al GCC 4.0.0 .
  39. GCC Wiki - GFortran .
  40. gfortran - Statutul Fortran 2003 .
  41. gfortran - Statutul Fortran 2008 .
  42. gfortran - Statutul Fortran 2018 .
  43. (în) „  OpenCoarrays  ” pe OpenCoarrays (accesat la 12 aprilie 2021 )
  44. Omni Compiler .
  45. Lahey Fortran .
  46. Absoft Fortran .
  47. Portland Group Fortran .
  48. Compilatoare Intel Fortran .
  49. IBM - Familia Fortran Compilers .
  50. Oracle Solaris Studio .
  51. CrayDoc - Documentația clientului 0
  52. Descărcarea Oracle Solaris Studio .
  53. PGI Community Edition , pentru Linux și macOS.
  54. Compilatoare Intel gratuite pentru toți dezvoltatorii .
  55. LFortran
  56. Flang
  57. Compilator Intel Fortran ifx
  58. Compilator online Codingground .
  59. OnlineGDB compilator online .
  60. Compilator online JDOODLE .
  61. Godbolt Compiler Explorer Compilator online .
  62. Deschideți Watcom .
  63. PathScale EKOPath .
  64. Bitsavers - documentarea computerelor vechi .
  65. (în) Darmar , „  Code :: Blocks IDE for Fortran  ” pe CBFortran ,4 martie 2021(accesat la 11 aprilie 2021 )
  66. (în) Jeffrey Overbey , "  photran - Un mediu de dezvoltare integrat și instrument de refactorizare pentru Fortran | Fundația Eclipse  ” , la www.eclipse.org (accesat la 11 aprilie 2021 )
  67. Compatibilitatea Intel Compilers cu Microsoft Visual Studio și Xcode
  68. „  utilitate makedepf90  ”
  69. Fortran Package Manager fpm .
  70. www.simconglobal.com , „  WinFPT și ftp - Fortran Engineering - Summary  ” , la simconglobal.com (accesat la 11 aprilie 2021 )
  71. CamFort
  72. fthcneck
  73. "  findent, codul sursă Fortran indenter.  "
  74. Verificarea codurilor Fortran
  75. Fortran-FOSS-Programmers / ford , Fortran F / OSS Programmers Group,12 aprilie 2021( citește online )
  76. „  ROBODoc  ” , la rfsber.home.xs4all.nl (accesat la 18 aprilie 2021 )
  77. http://www.netlib.org/lapack/ .
  78. DISLIN
  79. GrWin Graphics Library
  80. gtk-fortran
  81. JAPI (Interfața de programare a aplicațiilor Java)
  82. "  ogpf, interfață gnuplot în Fortran orientat obiect  "
  83. PLplot
  84. Quickwin
  85. Winteracter
  86. GINO
  87. MATFOR
  88. De exemplu, GSL scris în C și Blitz ++ sau IML ++ , în C ++.
  89. MATLAB încorporează LAPACK .
  90. Comunitatea Dev în Scilab .
  91. Codul sursă al primei versiuni a MATLAB .

Vezi și tu

Bibliografie

  • Ed Akin , Programare orientată pe obiecte prin Fortran 90/95 , Cambridge University Press,13 ianuarie 2003, 1 st  ed. ( ISBN  978-0-521-52408-7 și 978-0-511-53011-1 , citiți online )
  • Walter S. Brainerd , Ghid pentru programarea Fortran 2003 , Londra, Springer Londra,2009( ISBN  978-1-84882-543-7 , citit online )
  • Norman S. Clerman și Walter Spector , Modern Fortran: Style and Usage , Cambridge, Cambridge University Press,2011( ISBN  978-1-139-02768-7 , citit online )
  • Richard J. Hanson și Tim Hopkins , Calcul numeric cu Modern Fortran , Philadelphia, PA, Societatea pentru matematică industrială și aplicată,ianuarie 2013( ISBN  978-1-61197-312-9 , citit online )
  • Claude Delannoy , programator în FORTRAN - Fortran 90 și evoluțiile sale - FORTRAN 95, 2003 și 2008 , Librairie Eyrolles,februarie 2015( ISBN  978-2-212-14020-0 , citiți online )
  • Ian Chivers și Jane Sleightholme , Introducere în programare cu Fortran , Cham, Springer International Publishing,2018( ISBN  978-3-319-75502-1 , citit online )
  • Michael Metcalf , John Reid și Malcolm Cohen , Modern Fortran Explained: Incorporating Fortran 2018 , Oxford University Press ( ISBN  978-0-19-185002-8 , citit online )
  • Robert W. Numrich , Parallel Programming with Co-arrays , Prima ediție. | Boca Raton, FL: CRC Press / Taylor & Francis, Chapman and Hall / CRC,6 septembrie 2018, 1 st  ed. ( ISBN  978-0-429-43718-2 , citit online )
  • Milan Curcic , Modern Fortran: Construirea de aplicații paralele eficiente , Publicații Manning,24 noiembrie 2020, Ediția I  ed. ( ISBN  978-1-61729-528-7 )

Articole similare

linkuri externe