Fortran

Fortran
Logo.
Data pierwszej wersji 1957
Paradygmat Wieloparadygmat: imperatyw ( proceduralny , strukturalny , obiektowy ), generyczny
Autor John backus
Deweloper John Backus i IBM
Ostatnia wersja Fortran 2018 (ISO / IEC 1539-1: 2018) (28 listopada 2018 )
Pisanie na maszynie mocny , statyczny
Normy ISO / IEC 1539
Wpływem Szybkie kodowanie
Pod wpływem Algol 58 , PODSTAWOWE , C , DOPE , PL / I , PAKT I , świnka , ratfor
Realizacje Absoft, Cray , GFortran , G95 , IBM , Intel , Lahey / Fujitsu, Open Watcom , PathScale , PGI , Silverfrost , Oracle , XL Fortran , Visual Fortran itp.
System operacyjny Wieloplatformowy
Stronie internetowej fortran-lang.org
Rozszerzenie pliku f, for i f90

Fortran ( matematyczny system tabliczek FOR mula TRAN ) jest językiem programowania ogólnego przeznaczenia , którego główną dziedziną są obliczenia naukowe i obliczenia numeryczne . Wykorzystywany jest zarówno na komputerze osobistym, jak i na superkomputerach , gdzie służy również do testowania ich wydajności w ramach rankingu TOP500 najpotężniejszych superkomputerów na świecie, dzięki bibliotece LINPACK .

Liczba bibliotek naukowych napisanych w Fortranie, sprawdzonych i udoskonalanych przez wiele lat, oraz ciągłe wysiłki poświęcone kompilatorom w celu wykorzystania przez dziesięciolecia nowych możliwości komputerów ( wektoryzacja , koprocesory , równoległość ) utrzymały użycie tego języka, który nadal ewoluować.

Wśród funkcji dodanych w ostatnich dziesięcioleciach możemy wymienić obliczenia na tablicach (które mogą obejmować do piętnastu wymiarów), programowanie modułowe, programowanie generyczne (Fortran 90), obliczenia o wysokiej wydajności (Fortran 95), programowanie zorientowane. biblioteki językowe (Fortran 2003), programowanie współbieżne (Fortran 2008) i natywne przetwarzanie równoległe (Coarray Fortran 2008/2018), oprócz interfejsów OpenMP , OpenACC i bibliotek Message Passing Interface .

Historia i wersje

Projekt rozpoczęty w 1954 r. Fortran jest pierwszym językiem programowania wysokiego poziomu , a następnie w szczególności Lisp (1958), Algol (1958) i COBOL (1959). Przeszła wiele zmian. Został ujednolicony od połowy lat 60. i stał się standardem ISO od Fortran 90. Każda wersja standardu dodaje funkcjonalności, być może już zaimplementowane przez kompilatory w postaci rozszerzeń języka, lub wyjaśnia punkty, które pozostały niejednoznaczne, ale może również przestarzać starą funkcjonalność.

Nazwa języka jest czasami zapisywana konwencjonalnie dużymi literami (FORTRAN), aby oznaczyć wersje języka aż do Fortran 77, ponieważ w tym czasie małe litery nie były częścią standardu, nawet jeśli większość kompilatorów je obsługiwała. Z drugiej strony jest zawsze pisany wielką literą dla darmowych wersji składni od Fortran 90 . Wreszcie, coraz częściej używa się wyrażenia „nowoczesny Fortran” (nowoczesny Fortran), aby odróżnić obecną formę języka od jego form historycznych, o czym świadczą tytuły większości książek anglosaskich od 2010 roku.

Klasyczny okres Fortran

Wiele kodów przemysłowych zostało napisanych w Fortranie ( biblioteki Nastran , NAG i IMSL itp.) i zgodność nowych wersji z poprzednimi jest niezbędna, kosztem utrzymania pojęć, które nie są już potrzebne. Z tego powodu Fortran 90 jest całkowicie kompatybilny z Fortranem 77. Kolejne wersje standardu wprowadziły jednak niezgodności.

Nowoczesne Fortran

Kod źródłowy: format i składnia

Stary ustalony format

Przed standardem Fortran 90, który wprowadził „darmową” składnię, Fortran, powstały w dobie kart dziurkowanych (w szczególności z systemem FMS ), wykorzystywał układ dostosowany do tych podpór. Kod zaczyna się od 7- tej  kolumny i nie powinien przekraczać 72- tej . Wygląda to tak:

Ponadto przed Fortran 90, obowiązuje nie mają znaczenia pomiędzy 7 th i 72 th  kolumn. W ten sposób pętlę DO 10 I=1,5można również zapisać DO10I=1,5. Z drugiej strony DO 10 I=1.5jest równoważne z DO10I=1.5przypisaniem wartości 1.5 do zmiennej DO10I. 10 reprezentuje tutaj etykietę końca pętli, obowiązkową przed Fortran 90: ten ostatni wprowadził END DO, który był już obsługiwany przez wiele kompilatorów jako rozszerzenie standardu Fortran 77. Rozszerzenie MIL-STD-1753 Departamentu USA Obrona wprowadziła to już END DOw Fortranie 77 (zamiast instrukcji lub CONTINUE), już w 1978 roku, ale etykieta pozostała obowiązkowa.

Najpopularniejszymi rozszerzeniami plików dla stałego formatu są .fi .for, ale jest to tylko konwencja i nic nie stoi na przeszkodzie, aby były używane z wolnym formatem.

Nowoczesne Fortran

Od standardu Fortran 90 kod źródłowy pisany jest w tzw. formacie wolnym: nie ma już konkretnej kolumny, wiersze mają maksymalnie 132 znaki (ale można je kontynuować za pomocą znaku &), wprowadzane są komentarze wykrzyknikiem (ewentualnie umieszczonym po instrukcji Fortran). Najpopularniejszym rozszerzeniem nazwy pliku jest wtedy .f90, mimo że program wykorzystuje funkcje z nowszych standardów, takich jak 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

Uwagi:

  • ten program jest napisany w nowoczesnym Fortranie. Wymaga kompilatora implementującego podstawy standardu Fortran 2008;
  • instrukcja useumożliwia zaimportowanie modułu wewnętrznego, iso_fortran_envktóry definiuje stałe, w szczególności dla dostępnych typów liczb rzeczywistych ( real32, real64, real128). Tutaj importowana jest tylko stała, real128która będzie oznaczona przez alias wp (dokładność działania) . Liczby rzeczywiste pojawiające się w programie są dodawane do tego aliasu w celu określenia ich typu. Byłoby zatem wystarczające, aby zastąpić real128przez real64lub real32zmodyfikować w sposób spójny precyzja numeryczne stosowane w całym programie, jak długo kompilator obsługuje odpowiednią precyzję;
  • instrukcja implicit nonewymusza deklarację zmiennych. Historycznie jest to opcjonalne w Fortranie (zmienne, których nazwa zaczyna się od jednej z liter I, J, K, L, M lub N są domyślnie typu integer, pozostałe typu real), ale obecnie ten mechanizm jest zdecydowanie odradzany;
  • deklaracja jest składana na początku procedury. Typ danych i nazwy zmiennych są oddzielone znakiem ::. Domyślnie używamy liczb całkowitych dla deg. Numeracja tabel domyślnie zaczyna się od 1 w Fortranie, ale tutaj zaczynamy od 0 dla tabeli radians(0:90). Stałe, które można obliczyć, określa atrybut parameter. Struny mają stałą długość, ale tutaj gwiazdka wskazuje, że długość sznurka musi być określona zgodnie z długością jego zawartości;
  • zawartość tablicy radians()jest obliczana za pomocą konstruktora, przy czym degzmienna pętli waha się od 0 do 90. Fortran umożliwiający obliczenia bezpośrednio na tablicach, moglibyśmy również napisać radians = deg * (/ (coeff, deg=0,90) /) ;
  • instrukcja writeodnosi się do jednostki wejścia/wyjścia ( *oznacza terminal) i specyfikacji formatu. Ten format jest tutaj przechowywany w ciągu ligne_horizontalei opisuje, że należy wyświetlić 49 myślników. Mogliśmy również użyć deklaracji formatumieszczonej w innym wierszu i poprzedzonej etykietą numeryczną;
  • instrukcja do deg = 0, 90wskazuje, aby powtórzyć w pętli instrukcje, które następują (do end do) dla wszystkich wartości degod 0 do 90 w krokach co 1;
  • writewewnątrz pętli jest wykorzystywany do zapisu o zmiennej wartości końcowych degi radians(deg)przy użyciu dwóch znaków deg(co jest liczbą całkowitą) i 34 oraz 32 znaków po przecinku do radians(deg)którego jest liczbą rzeczywistą.

Kompilatory

Dostępnych jest wiele komercyjnych lub darmowych kompilatorów. Ponieważ Fortran jest językiem ustandaryzowanym, zwykle mija kilka lat między wydaniem nowego standardu a pełnym wsparciem jego nowych funkcji w kompilatorach.

Aktualne kompilatory

Darmowe kompilatory

Przed wersją 4.0 darmowy kompilator GCC zawierał kompilator g77 dla Fortran 77, który został zastąpiony w 2005 roku przez kompilator GFortran, będący wynikiem rozwidlenia wykonanego w 2003 roku z G95 , innego darmowego kompilatora opracowanego między 2000 a styczniem 2013. Na początku z 2021 r. GFortran prawie w pełni obsługuje Fortran 2003, prawie cały Fortran 2008 i około 20% Fortran 2018. W przeciwieństwie do kompilatorów Intel i Cray, nie obsługuje jeszcze natywnie programowania równoległego ze współmacierzami, ale wymaga instalacji biblioteki OpenCoarrays .

Omni Compiler to meta-kompilator C i Fortran do przekształcania kodu zawierającego dyrektywy XcalableMP i OpenACC na natywny kod równoległy.

Autorskie kompilatory

Istnieje wiele komercyjnych kompilatorów, w tym: Lahey, Absoft, Portland Group  (w) (spółka zależna NVidia ), NAG , itp. Większość producentów stacji roboczych lub komputerów przeznaczonych do intensywnego przetwarzania oferuje również kompilator Fortran: Intel, IBM, Oracle (po przejęciu Sun Microsystems ), HPE Cray ( Cray został przejęty przez HP w 2019 r.) itp. Kompilator Intel Visual Fortran jest spadkobiercą DEC Visual Fortran, który stał się Compaq Visual Fortran, a następnie HP Visual Fortran.

Niektóre z tych komercyjnych kompilatorów mają darmowe wersje do użytku niekomercyjnego: tak jest w przypadku Oracle, Portland Group.

Jeśli chodzi o kompilatory Intela, od stycznia 2021 roku są one bezpłatne dla wszystkich programistów.

Kompilatory w fazie rozwoju

Na początku 2021 r. opracowywane są nowe kompilatory Fortran oparte na LLVM : LFortran, który ma na celu umożliwienie interaktywnego testowania kodu, Flang i Intel Fortran Compiler ifx.

Kompilatory online

Fortran jest jednym z języków oferowanych przez niektóre kompilatory online, takie jak codingground, OnlineGDB, JDOODLE i godbolt Compiler Explorer. Niektóre oferują wybór między kilkoma kompilatorami Fortran lub kilkoma wersjami kompilatora lub umożliwiają analizę kodu za pomocą debugera i zobaczenie wygenerowanego języka maszynowego. Narzędzia te umożliwiają zatem naukę języka bez instalowania kompilatora na komputerze, a także umożliwiają współpracę online nad projektem.

Nieutrzymywane kompilatory

  • Open64  (en) to darmowy kompilator Fortran 95 wycofany w 2011 roku.
  • Darmowy kompilator Open Watcom Fortran 77: wycofany w 2010 roku.
  • PathScale  (w)  : aresztowany w 2013 roku.
  • HP .
  • Unisys .
  • Zniknęli niektórzy producenci, tacy jak CDC czy DEC .

narzędzia programistyczne

Zintegrowane edytory i środowiska programistyczne

Większość edytorów tekstu oferuje podświetlanie składni dla Fortran: Atom , Emacs , Notepad ++ , Sublime Text , Vim , Neovim , Visual Studio Code ... Wśród zintegrowanych środowisk programistycznych znajduje się dedykowana wersja Code :: Blocks development w Fortran. Istnieje również wersja Eclipse dedykowana Fortranowi o nazwie Photran, której najnowsza wersja pochodzi z 2015 roku. W systemie Windows kompilator Intel Fortran jest zintegrowany z Visual Studio .

Menedżer pakietów i systemy budowania

Systemy budowania projektów, takie jak CMake i Meson, zazwyczaj obsługują Fortran. Narzędzie makedepf90 służy do generowania plików Make dla projektu Fortran.

Ale Fortran ma menedżera pakietów fpm (Fortran Package Manager) dostępny od końca 2020 roku , który działa również jako system do budowania projektów. Jest inspirowany narzędziem Cargo z języka Rust . W szczególności pozwala na zarządzanie zależnościami, które może automatycznie pobrać z GitHub.

Weryfikacja i analiza kodu

fpt to narzędzie do analizy kodu Fortran. Możemy również wspomnieć o CamFort, darmowym projekcie uniwersyteckim, ftncheck, który jest ograniczony do Fortran 77 i który nie był rozwijany od 2005 roku. findent to wcinacz kodu źródłowego, który może również przekształcić stary ustalony format Fortran na format wolny . Wreszcie, PFUnit  (en) to platforma testów jednostkowych , bezpłatna i początkowo opracowana przez NASA.

Generatory dokumentacji

Wśród generatorów dokumentacji zarządzających Fortranem możemy wymienić Doxygen , FORD i ROBODoc.

Biblioteki

Naukowe biblioteki obliczeniowe

W Fortranie opracowano wiele bibliotek obliczeniowych. Niektóre z nich były opracowywane, używane, testowane, a zatem debugowane przez dziesięciolecia, co zapewnia im dużą niezawodność.

Biblioteki graficzne

Standardy Fortran nie zawierają instrukcji graficznych ani instrukcji budowania interfejsów graficznych, wizualizację można wykonać po wykonaniu za pomocą zewnętrznych narzędzi, takich jak ParaView , lub poprzez wywołanie za pomocą instrukcji narzędzi do kreślenia, takich jak Gnuplot . EXECUTE_COMMAND_LINE(), lub wreszcie za pomocą bibliotek  :

  • DISLIN: biblioteka graficzna stworzona przez Max Planck Institute for Solar System Research. Wieloplatformowy ( UNIX , Linux, FreeBSD , OpenVMS, Windows i MS-DOS). Współpracuje z wieloma kompilatorami, a także językami innymi niż Fortran. Bezpłatnie do użytku niekomercyjnego.
  • Biblioteka grafiki GrWin: darmowe oprogramowanie dla systemu Windows.
  • gtk-fortran: interfejs GTK / Fortran, wykorzystujący moduł ISO_C_BINDING (Fortran> 2003). Multiplatforma (Linux, Windows, macOS, FreeBSD, Raspberry Pi...). Licencja GPL 3. Obsługuje zarówno GTK 3 i GTK 4, jak również GLib i PLplot .
  • JAPI (Java Application Programming Interface): Interfejs Java / Fortran używany do tworzenia kompletnego interfejsu graficznego dla programów Fortran. Wieloplatformowy (Windows, Linux, Solaris ). Współpracuje z wieloma kompilatorami (w tym gfortran, Compaq Visual Fortran…). Darmowe oprogramowanie na licencji LGPL.
  • ogpf umożliwia łatwy dostęp do gnuplot z programu Fortran, dzięki zastosowaniu programowania obiektowego. Może być używany jako pakiet fpm.
  • PLplot  (en)  : biblioteka do rysowania wykresów naukowych. Wielojęzyczność i multiplatformy (Linux, OpenSolaris , Unix , MS-DOS, Windows, Mac OS X). Darmowe oprogramowanie na licencji LGPL.
  • Quickwin: biblioteka graficzna dostarczana z Compaq Visual Fortran (obecnie Intel Visual Fortran). Działa tylko w systemie Windows.
  • Winteracter: budowa interfejsów graficznych i narzędzi wizualizacyjnych. Oprogramowanie komercyjne dla systemów Windows, Linux i MacOS X.
  • GINO: budowa interfejsów graficznych i narzędzi wizualizacyjnych. Oprogramowanie komercyjne dla systemów Windows i Linux.
  • MATFOR: budowa interfejsów graficznych oraz bibliotek cyfrowych i graficznych dla Fortranu i innych języków. Oprogramowanie komercyjne dla systemów Windows i Linux.

Na początku 2021 r. od co najmniej 10 lat nie były utrzymywane następujące biblioteki:

  • f90gl: interfejs Fortran 90 z OpenGL, GLU i GLUT. Multiplatformy. Współpracuje z wieloma kompilatorami. Licencja: domena publiczna.
  • Ftcl: interfejs Fortran- Tcl /TK . darmowy, open-source.
  • Biblioteka graficzna g2: dla Linux, AIX , Digital Unix , SunOS , IRIX , OpenVMS , Windows. Darmowe oprogramowanie na licencji LGPL.
  • PGPLOT  (w)  : biblioteka procedur graficznych, interaktywna, darmowa, wieloplatformowa, obsługuje wiele urządzeń wyjściowych.
  • pilib (Platform Independent Library for Fortran): interfejs Fortran 90-95 / GTK. Rozwój się zatrzymał. Darmowe oprogramowanie.
  • PSPLOT: generuj rysunki w PostScript .
  • SansGUI: komercyjny interfejs dla Windows i Compaq Visual Fortran.
  • Xeffort: biblioteka graficzna dla Visual Fortran. Darmowe oprogramowanie dla Windows.

Inne języki do obliczeń naukowych

Fortran teraz współpracuje z wieloma innymi językami i oprogramowaniem do obliczeń naukowych, w szczególności:

  • C i C++ ,
  • języki interpretowane np. Python dzięki bibliotekom takim jak NumPy i SciPy , których niektóre fragmenty są również napisane w Fortranie,
  • Julia ,
  • R (język) , skoncentrowany na statystyce i analizie danych,
  • oprogramowanie takie jak Scilab , MATLAB lub GNU Octave . Scilab i MATLAB zawierają również biblioteki BLAS i LAPACK opracowane w Fortran. MATLAB był pierwotnie programem w Fortranie, dystrybuowanym do uniwersytetów i ośrodków badawczych.

Ponadto języki programowania zostały opracowane w 2000 roku, aby ułatwić programowanie równoległe na superkomputerach , obszar, w którym Fortran jest szeroko stosowany. Możemy przytoczyć X10 , rozwijany przez IBM od 2004 roku, oraz Chapel , rozwijany przez Cray od 2009 roku. Kolejny język, Fortress , pojawił się w 2006 roku, a rozwijany przez Sun Microsystems , został porzucony w 2012 roku. Te trzy języki są częścią High Productivity  projekt. Computing Systems (w) z DARPA .

Uwagi i referencje

  1. Zobacz także strony internetowe Grupy Roboczej 5 i komitetu J3, aby uzyskać więcej informacji na temat aktualnej ewolucji normy.
  2. Należy jednak zauważyć, że w pierwszym podręczniku Fortrana (1956) nazwa jest pisana wielkimi literami jako F, ​​a pozostałe litery małymi drukowanymi literami.
  3. Raport wstępny, Specyfikacje systemu IBM Mathematical FORMULA TRANslating System, FORTRAN [PDF] .
  4. „  John Backus  ” w IBM Archives (dostęp 10 listopada 2014 r . ) .
  5. Zapytany o to, John Backus wyjaśnił w wywiadzie, że nie może być inaczej, chociaż w 1990 roku dowolna para studentów informatyki mogła napisać jedną w ciągu kilku miesięcy: „Nie mieliśmy koncepcji . Nie mieliśmy też narzędzi ” . Wyjaśnia w tym samym wywiadzie że to, co przysporzyło zespołowi najwięcej pracy, to wygenerowanie kodu indeksującego tablice w niezbyt nieefektywny sposób.
  6. (w) John Backus , „  Historia FORTRAN I, II i III  ” , ACM SIGPLAN Records , tom.  13 N O  8,Sierpień 1978, s.  165-180 ( DOI  10.1145 / 960118.808380 , przeczytaj online ).
  7. (w) Irving N. Rabinowitz, „  Raport o języku algorytmicznym FORTRAN II  ” , Komunikaty ACM , tom.  5, n O  6,Czerwiec 1962, s.  327-337 ( DOI  10.1145/367766.368151 ).
  8. Instrukcja obsługi Fortran II dla IBM 704 (1958)
  9. Opis / 360 WATFOR - kompilator Fortran IV
  10. [PDF] ECMA Fortran Standard .
  11. [PDF] Standardowy Fortran 66 .
  12. Nagroda im. Johna Backusa AM Turinga (1977) .
  13. [PDF] Standardowy Fortran 77 .
  14. (w) Frank Engel, Jr., „  Propozycja projektu ANS FORTRAN BSR X3J3 X3.9/76  ” , ACM SIGPLAN Records , tom.  11 N O  3,Marzec 1976, s.  1-212 ( DOI  10.1145/956013.1070892 ).
  15. [PDF] MIL-STD-1753, norma wojskowa: Fortran, dodatek DOD do amerykańskiej normy krajowej X3.9-1978 .
  16. „  Zapowiedziano grupę dyskusyjną Net.lang.f77  ” na groups.google.com (dostęp 18 kwietnia 2021 r. )
  17. „  comp.lang.fortran – Grupy dyskusyjne Google  ” , na groups.google.com (dostęp 18 kwietnia 2021 r. )
  18. [PDF] Standardowy Fortran 90 .
  19. IEEE 1003.9-1992 — POSIX (R) FORTRAN 77 Interfejsy językowe — część 1: Wiązanie dla interfejsu programowego aplikacji systemowych (API) .
  20. ISO/IEC 1539-2: 1994 – Informatyka – Języki programowania – FORTRAN – Część 2: Ciągi znaków o zmiennej długości .
  21. ISO/IEC 1539-2: 2000 – Informatyka – Języki programowania – Fortran – Część 2: Ciągi znaków o zmiennej długości .
  22. [PDF] Standardowy Fortran 95 .
  23. ISO/IEC 1539-3:1999 – Informatyka – Języki programowania – Fortran – Część 3: Kompilacja warunkowa .
  24. [PDF] Standardowy Fortran 2003 .
  25. Zainicjowany przez Simula 67 i spopularyzowany przez C++ i Javę .
  26. [PDF] Standardowy Fortran 2008 .
  27. [PDF] Standardowy Fortran 2018 .
  28. "  indeks | TIOBE - The Software Quality Company  ” , na stronie www.tiobe.com (dostęp 18 kwietnia 2021 r. )
  29. Fortran 202x — Harmonogram rozwoju .
  30. WD 1539-1 J3/21-007 (wersja robocza Fortran 202x) , 16 grudnia 2020 r.
  31. MIL-STD-1753 .
  32. Rozszerzenia pisane przez duże F, które .F90są ogólnie interpretowane przez kompilatory jako wskazujące na potrzebę użycia preprocesora Fortran przed kompilacją.
  33. (w) Metcalf, Michael; Reid, Jan; Cohen, Malcolm, Modern Fortran Explained: Incorporating Fortran 2018 , Oxford Univ. Naciśnij,listopad 2018( ISBN  978-0198811886 )
  34. Obsługa kompilatora dla standardu Fortran 2003 .
  35. Obsługa kompilatora dla standardu Fortran 2008 .
  36. Kopia starej strony g77 na stronie USGS .
  37. Seria wydań GCC 4.0 — zmiany, nowe funkcje i poprawki .
  38. Kod źródłowy GCC 4.0.0 .
  39. GCC Wiki - GFortran .
  40. status gfortran-Fortran 2003 .
  41. gfortran-Fortran 2008 status .
  42. gfortran - status Fortran 2018 .
  43. (w) „  OpenCoarrays  ” na OpenCoarrays (dostęp 12 kwietnia 2021 )
  44. Kompilator Omni .
  45. Lahey Fortran .
  46. Absoft Fortran .
  47. Portland Group Fortran .
  48. Kompilatory Intel Fortran .
  49. Rodzina kompilatorów IBM-Fortran .
  50. Oracle Solaris Studio .
  51. CrayDoc - Dokumentacja klienta 0
  52. Pobieranie Oracle Solaris Studio .
  53. PGI Community Edition dla systemów Linux i macOS.
  54. Darmowe kompilatory Intel dla wszystkich programistów .
  55. LFortran
  56. Kołnierz
  57. Kompilator Intel Fortran ifx
  58. Internetowy kompilator Codingground .
  59. Kompilator online OnlineGDB .
  60. internetowy kompilator JDOODLE .
  61. godbolt Compiler Explorer Online Compiler .
  62. Otwórz Watcom .
  63. PathScale EKOPath .
  64. Bitsavers — dokumentacja starych komputerów .
  65. (w) Darmar , "  Kod :: Blokuje IDE dla Fortran  " na CBFortran ,4 marca 2021(dostęp 11 kwietnia 2021 )
  66. (w) Jeffrey Overbey , „  photran — zintegrowane środowisko programistyczne i narzędzie do refaktoryzacji dla Fortranu | The Eclipse Foundation  ” , na stronie www.eclipse.org (dostęp 11 kwietnia 2021 r. )
  67. Zgodność kompilatorów Intel z Microsoft Visual Studio i Xcode
  68. "  narzędzie makedepf90  "
  69. Menedżer pakietów Fortran fpm .
  70. www.simconglobal.com , „  WinFPT i ftp - Fortran Inżynieria - Podsumowanie  ” , w simconglobal.com (dostęp 11 kwietnia, 2021 )
  71. CamFort
  72. Fthcneck
  73. "  findent, wcinak do kodu źródłowego Fortran.  "
  74. Weryfikacja kodów Fortran
  75. Fortran-FOSS-Programiści / ford , Grupa Programistów Fortran F / OSS,12 kwietnia 2021( przeczytaj online )
  76. „  ROBODoc  ” , na stronie rfsber.home.xs4all.nl (dostęp 18 kwietnia 2021 r. )
  77. http://www.netlib.org/lapack/ .
  78. DISLIN
  79. Biblioteka graficzna GrWin
  80. gtk-Fortran
  81. JAPI (interfejs programowania aplikacji Java)
  82. "  ogpf, interfejs gnuplot w zorientowanym obiektowo Fortranie  "
  83. PLwykres
  84. Quickwin
  85. Zimowyact
  86. GINO
  87. MATFOR
  88. Na przykład GSL napisany w C, a Blitz ++ lub IML ++ , w C ++.
  89. MATLAB obejmuje LAPACK .
  90. Społeczność deweloperów w Scilab .
  91. Kod źródłowy pierwszej wersji MATLAB .

Zobacz również

Bibliografia

  • Ed Akin , Programowanie obiektowe przez Fortran 90/95 , Cambridge University Press,13 stycznia 2003 r., 1 st  ed. ( ISBN  978-0-521-52408-7 i 978-0-511-53011-1 , czytaj online )
  • Walter S. Brainerd , Przewodnik po programowaniu Fortran 2003 , Londyn, Springer Londyn,2009( ISBN  978-1-84882-543-7 , czytaj online )
  • Norman S. Clerman i Walter Spector , Modern Fortran: styl i użytkowanie , Cambridge, Cambridge University Press,2011( ISBN  978-1-139-02768-7 , czytaj online )
  • Richard J. Hanson i Tim Hopkins , Obliczenia numeryczne z nowoczesnym Fortranem , Filadelfia, Pensylwania, Towarzystwo Matematyki Przemysłowej i Stosowanej,Styczeń 2013( ISBN  978-1-61197-312-9 , czytaj online )
  • Claude Delannoy , Programista w FORTRAN - Fortran 90 i jego ewolucje - FORTRAN 95, 2003 i 2008 , Librairie Eyrolles,luty 2015( ISBN  978-2-212-14020-0 , czytaj online )
  • Ian Chivers i Jane Sleightholme , Wprowadzenie do programowania z Fortran , Cham, Springer International Publishing,2018( ISBN  978-3-319-75502-1 , czytaj online )
  • Michael Metcalf , John Reid i Malcolm Cohen , Modern Fortran Explained: Włączenie Fortran 2018 , Oxford University Press ( ISBN  978-0-19-185002-8 , czytaj online )
  • Robert W. Numrich , Programowanie równoległe z ko-macierzami , wydanie pierwsze. | Boca Raton, FL: CRC Press / Taylor & Francis, Chapman and Hall / CRC,6 września 2018 r., 1 st  ed. ( ISBN  978-0-429-43718-2 , czytaj online )
  • Milan Curcic , Modern Fortran: Budowanie wydajnych aplikacji równoległych , Manning Publications,24 listopada 2020 r., wydanie 1  wyd. ( ISBN  978-1-61729-528-7 )

Powiązane artykuły

Linki zewnętrzne