Aller au contenu

« Utilisateur:Fustis/Todo » : différence entre les versions

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Fustis (discuter | contributions)
Fustis (discuter | contributions)
copie de Fortran pour modif de fond
Ligne 1 : Ligne 1 :
{{à sourcer|date=avril 2007}}
==Préfets==
{{Infobox Langage de programmation
{| class ="wikitable sortable"
| couleur boîte = <!-- pour adapter la couleur de la boîte au logo -->
! Code !! Fonction(s) !! Nom et prénom !! Date de nomination
| nom = Fortran
|-
| logo = Fortran acs cover.jpeg
|{{ok}} 01 || [[Liste des préfets de l'Ain|Préfet de l’Ain]] || [[Laurent Touvet]]<ref>[http://www.legifrance.gouv.fr/jopdf/common/jo_pdf.jsp?numJO=0&dateJO=20130621&numTexte=61&pageDebut=&pageFin= Légifrance] Décret du 20 juin 2013 portant nomination du préfet de l’Ain - M. TOUVET (Laurent).</ref> || align="right" | {{tri date|19|juin|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-19-juin-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 19 juin 2013.</ref>
| paradigme = Multi-paradigme : [[Programmation impérative|impératif]] ([[Programmation procédurale|procédural]], [[Programmation structurée|structuré]], [[Programmation orientée objet|orienté-objet]]), [[Généricité|générique]]
|-
| auteur = [[John Backus]]
|{{ok}}02 || [[Liste des préfets de l'Aisne|Préfet de l’Aisne]] || [[Hervé Bouchaert]]<ref>[http://www.legifrance.gouv.fr/jopdf/common/jo_pdf.jsp?numJO=0&dateJO=20130727&numTexte=72&pageDebut=&pageFin= Légifrance] Décret du 25 juillet 2013 portant nomination du préfet de l’Aisne - M. BOUCHAERT (Hervé).</ref> || align="right" | {{tri date|24|juillet|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-24-juillet-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 24 juillet 2013.</ref>
| développeur = [[John Backus]] & [[IBM]]
|-
| date de première version = 1957
|{{ok}} 03 || [[Liste des préfets de l'Allier|Préfet de l’Allier]] || [[Arnaud Cochet]]<ref>[http://www.legifrance.gouv.fr/jopdf/common/jo_pdf.jsp?numJO=0&dateJO=20140502&numTexte=58&pageDebut=&pageFin= Légifrance] Décret du 30 avril 2014 portant nomination du préfet de l’Allier - M. COCHET (Arnaud).</ref> || align="right" | {{tri date|30|avril|2014}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-mercredi-30-avril-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du mercredi 30 avril 2014.</ref>
| dernière version stable = Fortran 2008 (ISO/IEC 1539-1:2010)
|-
| date de dernière version stable = 2010
|{{ok}} 04 || [[Liste des préfets des Alpes-de-Haute-Provence|Préfète des Alpes-de-Haute-Provence]] || Patricia Willaert<ref>[http://www.legifrance.gouv.fr/jopdf/common/jo_pdf.jsp?numJO=0&dateJO=20130315&numTexte=49&pageDebut=&pageFin= Légifrance] Décret du 14 mars 2013 portant nomination de la préfète des Alpes-de-Haute-Provence - Mme WILLAERT (Patricia).</ref> || align="right" | {{tri date|14|mars|2013}}
| dernière version avancée =
|-
| date de dernière version avancée =
|{{ok}} 05 || [[Liste des préfets des Hautes-Alpes|Préfet des Hautes-Alpes]] || [[Pierre Besnard]]<ref>[http://www.legifrance.gouv.fr/jopdf/common/jo_pdf.jsp?numJO=0&dateJO=20130621&numTexte=66&pageDebut=&pageFin= Légifrance] Décret du 20 juin 2013 portant nomination du préfet des Hautes-Alpes - M. BESNARD (Pierre).</ref> || align="right" | {{tri date|19|juin|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-19-juin-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 19 juin 2013.</ref>
| typage = [[Typage fort|fort]], [[Typage statique|statique]]
|-
| implémentations = Absoft, [[Cray]], [[Gfortran|GFortran]], [[G95]], [[IBM]], [[Intel Fortran Compiler|Intel]], Lahey/Fujitsu, [[Watcom C compiler|Open Watcom]], [[PathScale]], [[PGI compiler|PGI]], [[Silverfrost FTN95|Silverfrost]], [[Oracle Corporation|Oracle]], [[XL Fortran]], Visual Fortran, others
|{{ok}} 06 || [[Liste des préfets des Alpes-Maritimes|Préfet des Alpes-Maritimes]] || [[Adolphe Colrat]]<ref>[http://www.legifrance.gouv.fr/jopdf/common/jo_pdf.jsp?numJO=0&dateJO=20130621&numTexte=60&pageDebut=&pageFin= Légifrance] Décret du 20 juin 2013 portant nomination du préfet des Alpes-Maritimes (hors classe) - M. COLRAT (Adolphe).</ref> || align="right" | {{tri date|19|juin|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-19-juin-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 19 juin 2013.</ref>
| normes =
|-
| dialectes =
|{{ok}} 07 || [[Liste des préfets de l'Ardèche|Préfet de l’Ardèche]] || [[Bernard Gonzalez]] || align="right" | {{tri date|17|avril|2013}}
| influencé par = [[Speedcoding]]
|-
| a influencé = [[Algol 58]], [[BASIC]], [[C (langage)|C]], [[PL/I]], [[PACT I]], [[MUMPS]], [[Ratfor]]
|{{ok}} 08 || [[Liste des préfets des Ardennes|Préfet des Ardennes]] || Frédéric Périssat || align="right" | {{tri date|4|décembre|2013}}
| système d'exploitation =
|-
| licence =
|{{ok}} 09 || [[Liste des préfets de l'Ariège|Préfet de l’Ariège]] || Nathalie Marthien || align="right" | {{tri date|17|juillet|2013}}
| site web =
|-
| date de mise à jour =
|{{ok}} 10 || [[Liste des préfets de l'Aube|Préfet de l’Aube]] || Christophe Bay || align="right" | {{tri date|29|mars|2011}}
}}
|-

|{{ok}} 11 || [[Liste des préfets de l'Aude|Préfet de l’Aude]] || [[Louis Le Franc]] || align="right" | {{tri date|17|avril|2013}}
'''Fortran''' (''{{Lang|en|<u>FOR</u>mula <u>TRAN</u>slator}}'') est un [[langage de programmation]] utilisé principalement en [[calcul scientifique]].
|-

|{{ok}} 12 || [[Liste des préfets de l'Aveyron|Préfète de l’Aveyron]] || Cécile Pozzo di Borgo || align="right" | {{tri date|12|octobre|2011}}
== Historique ==
|-

|{{ok}} 13 || [[Liste des préfets des Bouches-du-Rhône|Préfet des Bouches-du-Rhône]], préfet de la région [[Provence-Alpes-Côte d'Azur]], préfet de la zone de défense et de sécurité Sud || Michel Cadot|| align="right" | {{tri date|15|juin|2013}}
[[John Backus]], pionnier de l'informatique, publie en [[1954]] un article titré ''Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN.'' Il faut ensuite deux ans d'efforts à l'équipe qu'il dirige au sein d'[[International Business Machines Corporation|IBM]] pour écrire le premier [[compilateur]] FORTRAN ({{formatnum:25000}} lignes<ref name="IBM">{{lien web | titre=John Backus | site=IBM Archives | url=http://www-03.ibm.com/ibm/history/exhibits/builders/builders_backus.html | consulté le=10 novembre 2014}}</ref>, pour l'[[IBM 704]]).
|-

|{{ok}} 13 || [[Préfecture de police des Bouches-du-Rhône|Préfet de police des Bouches-du-Rhône]] || Jean-Paul Bonnetain || align="right" | {{tri date|12|septembre|2012}}
Le nom du langage a été écrit conventionnellement en majuscules (FORTRAN) jusqu'en 1992 et l'introduction du Fortran 90 à syntaxe libre<ref>Toutefois, on trouve déjà l'écriture « Fortran » dans le [http://bitsavers.trailing-edge.com/pdf/ibm/704/704_FortranProgRefMan_Oct56.pdf premier manuel de Fortran], remontant à 1956.</ref>. En FORTRAN 77, les lettres minuscules ne font pas partie du langage. Cette convention se retrouve dans cet article et est conforme aux différentes normes du Fortran, de 1966 à aujourd'hui.
|-

| 13 || Préfet délégué responsable du projet métropolitain Marseille-Provence || [[Laurent Théry]] || align="right" | {{tri date|19|septembre|2012}}
Aujourd'hui encore ([[années 2010]]), le langage Fortran reste très utilisé pour plusieurs raisons :
|-

| 13 || Préfète déléguée pour l’égalité des chances || Marie Lajus || align="right" | {{tri date|12|septembre|2012}}
# La présence de très nombreuses bibliothèques de fonctions, mises au point et améliorées durant de nombreuses années ;
|-
# l'existence de logiciels en Fortran ayant demandé des ressources très importantes pour leur développement, et dont le passage à un autre langage est jugé trop coûteux ;
|{{ok}} 14 || [[Liste des préfets du Calvados|Préfet du Calvados]], préfet de la région [[Basse-Normandie]] || [[Jean Charbonniaud]] || align="right" | {{tri date|12|juin|2014}}
# l'existence de [[compilateurs]] Fortran performants qui produisent des exécutables très rapides ;
|-
# le langage est plus facilement accessible (que par exemple le C++) à un scientifique n'ayant pas eu un cursus spécialisé en informatique.
|{{ok}} 15 || [[Liste des préfets du Cantal|Préfet du Cantal]] || Jean-Luc Combe || align="right" | {{tri date|31|janvier|2013}}

|-
Toutefois, beaucoup de programmes scientifiques sont à présent écrits en [[C (langage)|C]] et [[C plus plus|C++]]<ref>Par exemple la [[GNU Scientific Library|GSL]] écrite en C, et [http://www.oonumerics.org/blitz/ Blitz++] ou [http://math.nist.gov/iml++/ IML++], en C++.</ref>, dont les compilateurs sont disponibles sur la plupart des machines. D'autres langages compilés sont parfois utilisés pour le calcul scientifique, et surtout des logiciels tels que [[Scilab]] ou [[Matlab]]. Ces derniers incorporent d'ailleurs les bibliothèques [[Basic Linear Algebra Subprograms|BLAS]] et [[Linear Algebra Package|LAPACK]], développées en Fortran<ref>[http://www.mathworks.fr/company/newsletters/articles/matlab-incorporates-lapack.html MATLAB Incorporates LAPACK].</ref>{{,}}<ref>[http://www.scilab.org/content/download/370/2662/file/Scilab_Computation.pdf Computation in Scilab].</ref>. Matlab était à l'origine un programme en Fortran, distribué aux universités et aux centres de recherche<ref>[ftp://ftp.funet.fi/pub/sci/math/misc/programs/matlab/ Code source de la première version de Matlab].</ref>.
|{{ok}} 16 || [[Liste des préfets de la Charente|Prefète de la Charente]] || [[Salvador Pérez]] || align="right" | {{tri date|17|juillet|2013}}

|-
Le FORTRAN, créé à l'époque des [[Carte perforée|cartes perforées]] (en particulier avec le système [[Fortran Monitor System|FMS]]), optimise la mise en page de ses sources dans cette optique, jusqu'au [[Fortran 90]] qui introduit une syntaxe « libre ». Avant Fortran 90, le code commence à partir de la 7{{e}} colonne et ne doit pas dépasser la 72{{e}}. Il se présente alors ainsi :
|{{ok}} 17 || [[Liste des préfets de la Charente-Maritime|Préfète de la Charente-Maritime]] || Béatrice Abollivier || align="right" | {{tri date|15|juin|2011}}

|-
* La colonne 1 peut contenir la lettre C indiquant un commentaire. Le caractère * est aussi accepté ;
|{{ok}} 18 || [[Liste des préfets du Cher|Préfète du Cher]] || Marie-Christine Dokhélar || align="right" | {{tri date|4|décembre|2013}}
* Les colonnes 1 à 5 peuvent contenir une étiquette numérique (facultative) de l'instruction, dont la valeur peut être limitée à 32 767 ou 9 999 suivant le compilateur (en FORTRAN II des ordinateurs Advanced Scientific Instruments ASI 210 et ASI 2100) ;
|-
* La colonne 6 indique une suite de l'instruction précédente ;
|{{ok}} 19 || [[Liste des préfets de la Corrèze|Préfet de la Corrèze]] || Bruno Delsol || align="right" | {{tri date|5|août|2013}}
* Les colonnes 73 à 80 servent à l'identification et la numérotation des cartes perforées (souvent les trois initiales du projet, du chef de projet ou du programmeur, suivies de numéros de cinq chiffres attribués de dix en dix pour permettre des insertions de dernière minute).
|-

|{{ok}} {{tri1|20}}2A || [[Liste des préfets de la Corse-du-Sud|Préfet de la Corse-du-Sud]], préfet de la [[Corse]] || Christophe Mirmand || align="right" | {{tri date|15|juin|2013}}
Il faut également noter qu'avant Fortran 90, les espaces n'ont pas de signification entre la 7{{e}} et la 72{{e}} colonne. Ainsi, la boucle « DO I=1,5 » peut aussi s'écrire « DOI=1,5 ». En revanche, « DO I=1.5 » est équivalent à « DOI=1.5 », une affectation.
|-

|{{ok}} {{tri1|20}}2B || [[Liste des préfets de la Haute-Corse|Préfet de la Haute-Corse]] || [[Alain Rousseau]] || align="right" | {{tri date|17|avril|2013}}
De nombreux codes industriels ont été écrits en Fortran ([[Nastran|NASTRAN]], bibliothèques [[NAG]] et [[IMSL]], etc.) et la compatibilité des nouvelles versions avec les précédentes est indispensable, au prix de conserver des notions qui ne s'imposent plus. Pour cette raison, Fortran 90 est complètement compatible avec FORTRAN 77. Les versions suivantes du standard ont cependant introduit des incompatibilités.
|-

|{{ok}} 21 || [[Liste des préfets de la Côte-d'Or|Préfet de la Côte-d’Or]], préfet de la région [[Bourgogne]] || [[Éric Delzant]] || align="right" | {{tri date|12|juin |2014}}
Le langage [[BASIC]], dans sa version originale (1964), a été conçu comme un petit langage à caractère pédagogique permettant d'initier les étudiants à la programmation, avant de passer aux langages « sérieux » de l'époque : FORTRAN et [[Algol (langage)|Algol]]. On y retrouve donc quelques traits du langage Fortran.
|-

|{{ok}} 22 || [[Liste des préfets des Côtes-d'Armor|Préfet des Côtes-d’Armor]] || Pierre Soubelet || align="right" | {{tri date|8|février|2012}}
[[fichier:Ftn-elim-1240x1709.jpg|thumb|Logiel en FORTRAN-77 avec sortie du compilateur (ordinateur : [[Control Data Corporation|CDC]] 175 de l'[[Université technique de Rhénanie-Westphalie à Aix-la-Chapelle]]).]]
|-

|{{ok}} 23 || [[Liste des préfets de la Creuse|Préfet de la Creuse]] || Christian Chocquet || align="right" | {{tri date|30|août|2013}}
== Compilateurs ==
|-
Le compilateur libre [[GNU Compiler Collection|GCC]] permet de compiler le Fortran 77 (compilateur g77<ref>[http://www.kilmnj.com/g77/ Copie de l'ancien site de g77]</ref>{{,}}<ref>[http://www.mbr-pwrc.usgs.gov/software/g77.html g77 pour Windows] sur le site de l'[[United States Geological Survey|USGS]]</ref>, jusqu'à gcc 3.4.6). Le compilateur gfortran<ref>[http://gcc.gnu.org/wiki/GFortran GCC Wiki - GFortran]</ref> apparaît avec GCC 4.0.0, en 2005<ref>[http://www.gnu.org/software/gcc/gcc-4.0/changes.html GCC 4.0 Release Series - Changes, New Features, and Fixes]</ref>{{,}}<ref>[ftp://ftp.gnu.org/gnu/gcc/gcc-4.0.0/ Code source de GCC 4.0.0]</ref>. Il est issu d'un [[fork]] réalisé en 2003 de {{Lien|fr=G95|lang=en|trad=G95}}, un autre compilateur libre, dont le développement a débuté en 2000. Le développement de G95 a par ailleurs été interrompu entre 2008 et 2012. En 2013, gfortran prend pleinement en charge le standard Fortran 95, et une partie de Fortran 2003<ref>[http://gcc.gnu.org/onlinedocs/gfortran/Fortran-2003-status.html gfortran - 4.1 Fortran 2003 status]</ref> et Fortran 2008<ref>[http://gcc.gnu.org/onlinedocs/gfortran/Fortran-2008-status.html gfortran - 4.2 Fortran 2008 status]</ref>. Il n'a d'ailleurs pas à rougir devant les compilateurs commerciaux, pour le support de ces deux « nouveaux » standards<ref>[http://fortranwiki.org/fortran/show/Fortran+2003+status Compiler Support for the Fortran 2003 Standard]</ref>{{,}}<ref>[http://fortranwiki.org/fortran/show/Fortran+2008+status Compiler Support for the Fortran 2008 Standard]</ref>, les fabricants étant parfois plus intéressés par l'amélioration de la vitesse du code produit que par les dernières fonctionnalités offertes par le standard.
|{{ok}} 24 || [[Liste des préfets de la Dordogne|Préfet de la Dordogne]] || Jacques Billant || align="right" | {{tri date|15|juin|2011}}

|-
{{Lien|fr=Open64|lang=en|trad=Open64}}<ref>[http://www.open64.net/ Open64]</ref> est un autre compilateur [[Logiciel libre|libre]] de Fortran 95, à ne pas confondre avec AMD x86 Open64<ref>[http://developer.amd.com/tools-and-sdks/cpu-development/x86-open64-compiler-suite/ AMD - x86 Open64 Compiler Suite ]</ref>, lui aussi libre. On trouve également le compilateur libre Open Watcom<ref>[http://www.openwatcom.org/index.php/Main_Page Open Watcom]</ref>, mais il ne compile que du Fortran 77, et aucune évolution vers un standard plus récent n'est prévue.
|{{ok}} 25 || [[Liste des préfets du Doubs|Préfet du Doubs]], préfet de la région [[Franche-Comté]] || Stéphane Fratacci<ref>Nommé le 7 novembre 2012 préfet de la région Franche-Comté, préfet du Doubs « à compter du 26 novembre 2012 ».</ref> || align="right" | {{tri date|7|novembre|2012}}

|-
On trouve de nombreux compilateurs commerciaux<ref>[http://www.polyhedron.com/compare0html Polyhedron Software - Fortran Compiler Comparisons]</ref>, parmi lesquels : Lahey<ref>[http://www.lahey.com/ Lahey Fortran]</ref>, Absoft<ref>[http://www.absoft.com/ Absoft Fortran]</ref>, {{Lien|fr=PathScale|lang=en|trad=PathScale}}<ref>[http://www.pathscale.com/ekopath.html PathScale EKOPath]</ref>, {{Lien|fr=Portland Group|lang=en|trad=The Portland Group}}<ref>[http://www.pgroup.com/ Portland Group Fortran]</ref> (filiale de [[NVidia]]), [[NAG]], etc. La plupart des fabricants de stations de travail ou d'ordinateurs destinés au calcul intensif, proposent également un compilateur de Fortran : Intel<ref>[http://software.intel.com/en-us/fortran-compilers Intel Fortran Compilers]</ref>, IBM<ref>[http://www-03.ibm.com/software/products/us/en/fortcompfami/ IBM - Fortran Compilers family]</ref>, [[Hewlett-Packard|HP]]<ref>[http://h71000.www7.hp.com/doc/fortran.html HP Fortran for OpenVMS documentation]</ref>, SGI<ref>[http://www.sgi.com/products/software/irix/tools/prompf.html SGI - Fortran MP Applications Development]</ref>, [[Oracle Corporation|Oracle]] (suite au rachat de ''[[Sun Microsystems]]''<ref>[http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html Oracle Solaris Studio]</ref>), [[Unisys]]<ref>[http://public.support.unisys.com/common/epa/documentationlibraries.aspx Unisys - Documentation Libraries]</ref>, Cray<ref>[http://docs.cray.com/ CrayDoc - Customer Documentation]</ref>, etc. Cela comprend aussi les fabricants aujourd'hui disparus<ref>[http://bitsavers.trailing-edge.com/pdf/ Bitsavers - documentation d'ordinateurs anciens]</ref>, tels que [[Control Data Corporation|CDC]] ou [[Digital Equipment Corporation|DEC]] (ce dernier a été racheté par [[Compaq]], qui a plus tard fusionné avec HP).
|{{ok}} 26 || [[Liste des préfets de la Drôme|Préfet de la Drôme]] || Didier Lauga || align="right" | {{tri date|18|septembre|2013}}

|-
Certains de ces compilateurs commerciaux ont des versions gratuites pour une utilisation non commerciale : c'est le cas d'Intel<ref>[http://software.intel.com/en-us/articles/non-commercial-software-download/ Intel - Téléchargement de logiciels à usage non commercial]</ref>, Oracle<ref>[http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html Téléchargement de Oracle Solaris Studio]</ref>, PathScale<ref>[http://c591116.r16.cf2.rackcdn.com/ekopath/nightly/Linux/ekopath-2014-12-15-installer.run Pathscale EKOPath] pour Linux, version du 15 décembre 2014</ref>. IBM a également mis à disposition une version beta de son compilateur XL Fortran pour [[MacOS X]] (sur [[PowerPC]]), jusqu'à la sortie de la version commerciale.
|{{ok}} 27 || [[Liste des préfets de l'Eure|Préfet de l’Eure]] || René Bidal || align="right" | {{tri date|31|juillet|2014}}

|-
== Exemple ==
|{{ok}} 28 || [[Liste des préfets d'Eure-et-Loir|Préfet d’Eure-et-Loir]] || Nicolas Quillet || align="right" | {{tri date|23|décembre|2013}}
<source lang="fortran">
|-
PROGRAM DEGRAD
|{{ok}} 29 || [[Liste des préfets du Finistère|Préfet du Finistère]] || Jean-Luc Videlaine || align="right" | {{tri date|31|janvier|2013}}
!
|-
! Imprime une table de conversion degrés -> radians
|{{ok}} 29 || Préfet maritime de l’Atlantique (à [[Brest]]) || Vice-amiral d'escadre Emmanuel de Oliveira || align="right" |
! =================================================
|-
!
|{{ok}} 30 || [[Liste des préfets du Gard|Préfet du Gard]] || Didier Martin || align="right" | {{tri date|16|décembre|2013}}
! Déclaration des variables
|-
INTEGER DEG
|{{ok}} 31 || [[Liste des préfets de la Haute-Garonne|Préfet de la Haute-Garonne]], préfet de la région [[Midi-Pyrénées]] || [[Pascal Mailhos]] || align="right" | {{tri date|12|juin|2014}}
REAL RAD, COEFF
|-
!
|{{ok}} 32 || [[Liste des préfets du Gers|Préfet du Gers]] || Jean-Marc Sabathé || align="right" | {{tri date|27|février|2013}}
! En-tête de programme
|-
WRITE (*, 10)
|{{ok}} 33 || [[Liste des préfets de la Gironde|Préfet de la Gironde]], préfet de la région [[Aquitaine]], préfet de la zone Sud-Ouest || Michel Delpuech || align="right" | {{tri date|25|juillet|2012}}
10 FORMAT (' ',20('*') / &
|-
& ' * Degres * Radians *' / &
| 33 || Préfète déléguée pour la défense et la sécurité de la zone Sud-Ouest || [[Béatrice Lagarde]] || align="right" | {{tri date|4|décembre|2013}}
& ' ', 20('*') )
|-
!
|{{ok}} 34 || [[Liste des préfets de l'Hérault|Préfet de l’Hérault]], préfet de la région [[Languedoc-Roussillon]]|| [[Pierre de Bousquet de Florian]] || align="right" | {{tri date|19|décembre|2012}}
! Corps de programme
|-
COEFF = (2.0 * 3.1416) / 360.0
|{{ok}} 35 || [[Liste des préfets d'Ille-et-Vilaine|Préfet d’Ille-et-Vilaine]], préfet de la [[région Bretagne]], préfet de la zone Ouest || Patrick Strzoda || align="right" | {{tri date|15|juin|2013}}
DO DEG = 0, 90
|-
RAD = DEG * COEFF
| 35 || Préfète déléguée pour la défense et la sécurité de la zone Ouest || Françoise Souliman || align="right" | {{tri date|7|novembre|2012}}
WRITE (*, 20) DEG, RAD
|-
20 FORMAT (' * ',I4,' * ',F7.5,' *')
|{{ok}} 36 || [[Liste des préfets de l'Indre|Préfet de l’Indre]] || [[Jérôme Gutton]] || align="right" | {{tri date|1|août|2012}}
END DO
|-
!
|{{ok}} 37 || [[Liste des préfets d'Indre-et-Loire|Préfet d’Indre-et-Loire]] || Jean-François Delage || align="right" | {{tri date|26|octobre|2011}}
! Fin du tableau
|-
WRITE ( *, 30)
| 38 || [[Liste des préfets de l'Isère|Préfet de l’Isère]] || [[Richard Samuel]] || align="right" | {{tri date|1|août|2012}}
30 FORMAT (' ',20('*') )
|-
!
|{{ok}} 39 || [[Liste des préfets du Jura|Préfet du Jura]] || Jacques Quastana || align="right" | {{tri date|19|juin|2013}}
! Fin de programme
|-
STOP
|{{ok}} 40 || [[Liste des préfets des Landes|Préfet des Landes]] || Claude Morel || align="right" | {{tri date|6|juin|2012}}
END PROGRAM DEGRAD
|-
</source>
| 41 || [[Liste des préfets de Loir-et-Cher|Préfet de Loir-et-Cher]] || Yves Le Breton || align="right" | {{tri date|31|juillet|2014}}

|-
Notes :
|{{ok}} 42 || [[Liste des préfets de la Loire|Préfète de la Loire]] || Fabienne Buccio || align="right" | {{tri date|28|septembre|2011}}
* Ce programme est écrit en Fortran 90, en « forme fixe » et dans un style favorisant la compatibilité avec Fortran 77.
|-
* Le symbole « ! » indique un commentaire. Il peut être remplacé par les caractères « C » ou « * » lorsqu'il sont utilisés comme premier caractère.
| 43 || [[Liste des préfets de la Haute-Loire|Préfet de la Haute-Loire]] || Denis Labbé || align="right" | {{tri date|5|juin|2013}}
* La déclaration des variables est facultative en Fortran, mais sans déclaration, la variable DEG serait alors de type REAL (les variables dont le nom commence par une des lettres I, J, K, L, M ou N sont par défaut de type INTEGER, les autres de type REAL).
|-
* L'instruction WRITE se réfère à une unité d'entrée-sortie (ici * désigne le terminal) et une spécification de format. Par exemple le format d'étiquette 20 indique qu'il faut écrire un espace, une étoile et deux espaces, un entier (la valeur de DEG) sur 4 caractères puis la valeur de RAD sur 7 caractères dont 5 après le point décimal et enfin une espace et une étoile. Une déclaration de FORMAT peut être n'importe où ; une habitude est de la mettre juste après le WRITE à laquelle elle se réfère, une autre est de les mettre toutes à la fin de l'unité de programme. Plus d'une instruction WRITE peut faire référence à un même FORMAT.
| 44 || [[Liste des préfets de la Loire-Atlantique|Préfet de la Loire-Atlantique]], préfet de la région [[Pays de la Loire]] || Henri Michel Comet || align="right" | {{tri date|28|mai|2014}}
* Le caractère / à la fin d'une ligne indique une suite à la ligne suivante et le caractère & au début de la ligne indique la suite de la ligne précédente.
|-
* L'instruction « DO DEG = 0,90 » indique de répéter en boucle les instructions qui suivent (jusqu'au END DO) pour toutes les valeurs de DEG de 0 à 90 par pas de 1.
| 45 || [[Liste des préfets du Loiret|Préfet du Loiret]], préfet de la [[région Centre]] || [[Pierre-Étienne Bisch]] || align="right" | {{tri date|24|octobre|2012}}

|-
== Différentes versions de Fortran ==
| 46 || [[Liste des préfets du Lot|Préfet du Lot]] || [[Jean-Pierre Cazenave-Lacrouts]] || align="right" | {{tri date|17|avril|2013}}

|-
Le langage Fortran a connu de nombreuses évolutions<ref>Voir aussi les sites du [http://www.nag.co.uk/sc22wg5/ Working Group 5] et du [http://www.j3-fortran.org/ comité J3] pour plus d'informations sur l'évolution actuelle du standard</ref> :
| 47 || [[Liste des préfets de Lot-et-Garonne|Préfet de Lot-et-Garonne]] || [[Denis Conus]] || align="right" | {{tri date|05|juin|2013}}
* '''1956'''. Fortran II n'avait qu'une seule instruction de branchement conditionnel (« IF-arithmétique ») à trois adresses : <code>IF (A-B) 10, 20, 30</code> indiquait de sauter aux instructions d'étiquette 10, 20 ou 30 selon que A-B était négatif, nul ou positif. Cette forme de IF était la seule à exister sur l'[[IBM 1130]] lancée pourtant plus de dix ans plus tard.
|-
* '''1958'''. Fortran III n'est jamais sorti sous forme de produit.
| 48 || [[Liste des préfets de la Lozère|Préfet de la Lozère]] || Guillaume Lambert|| align="right" | {{tri date|19|juin|2013}}
* '''1962'''. Fortran IV introduit, entre autres, l'instruction « IF-logique », permettant d'écrire <code>IF (A .GE. B) GOTO 10</code> (aller à 10 si A est supérieur ou égal à B).
|-
* FORTRAN V était le nom envisagé au départ pour [[PL/I]], langage de programmation universel d'IBM qui devait réunir les meilleurs aspects de Fortran (pour les applications scientifiques), de [[COBOL]] (pour les applications de gestion), avec quelques emprunts à [[Algol (langage)|Algol]].
| 49 || [[Liste des préfets de Maine-et-Loire|Préfet de Maine-et-Loire]] || François Burdeyron || align="right" | {{tri date|1|août|2012}}
* '''1965'''. Le standard ECMA Fortran<ref>{{pdf}} [http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-9,%201st%20Edition,%20April%201965.pdf Standard ECMA Fortran]</ref>, situé à cheval entre le « Basic Fortran » et le « Fortran USASI »
|-
* '''1966'''. Fortran 66 (USASI X3.9-1966)<ref>{{pdf}} [http://www.fh-jena.de/~kleine/history/languages/ansi-x3dot9-1966-Fortran66.pdf Standard Fortran 66]</ref> est la première version officiellement standardisée (par l'[[American Standards Association]]) de Fortran. On la confond souvent avec Fortran IV.
| 50 || [[Liste des préfets de la Manche|Préfet de la Manche]] || Danièle Polvé-Montmasson || align="right" | {{tri date|17|juillet|2013}}
* '''1978'''. Fortran 77 (ANSI X3.9-1978)<ref>{{pdf}} [http://www.fh-jena.de/~kleine/history/languages/ansi-x3dot9-1978-Fortran77.pdf Standard Fortran 77]</ref>, entre autres améliorations, facilite la programmation structurée avec des blocs « IF / THEN / ELSE / ENDIF ». En 1978, une extension introduit entre autres « DO WHILE / END DO »<ref>{{pdf}} [http://www.everyspec.com/MIL-STD/MIL-STD-1700-1799/download.php?spec=MIL-STD-1753.011044.PDF MIL-STD-1753, Military Standard: Fortran, DOD Supplement to American National Standard X3.9-1978]</ref>.
|-
* '''1990'''. Fortran 90 (ANSI X3.198-1992)<ref>{{pdf}} [ftp://ftp.nag.co.uk/sc22wg5/N001-N1100/N692.pdf Standard Fortran 90]</ref> : [[Bibliothèque logicielle|modules]], [[Algorithme récursif|récursivité]], [[surcharge des opérateurs]], nouveaux [[Type (informatique)|types de données]], etc. C'est une mise à jour importante pour mettre Fortran au niveau des autres langages modernes. Les restrictions concernant la mise en forme des programmes (colonnes 1 à 72) disparaissent : l'écriture se fait en format libre.
|{{ok}} 50 || Préfet maritime de la Manche et de la mer du Nord (à [[Cherbourg-Octeville]]) || Vice-amiral d’escadre Emmanuel Carlier || align="right" | {{tri date|1er|juillet|2013}}
* '''1995'''. Fortran 95 (ISO/CEI 1539-1:1997)<ref>{{pdf}} [http://j3-fortran.org/doc/standing/archive/007/97-007r2/pdf/97-007r2.pdf Standard Fortran 95]</ref>
|-
* '''2003'''. Fortran 2003 (ISO/CEI 1539-1:2004)<ref>{{pdf}} [http://www.j3-fortran.org/doc/year/04/04-007.pdf Standard Fortran 2003]</ref> : comme le [[COBOL]] 2002, Fortran supporte maintenant la [[programmation orientée objet]]<ref>initiée par [[Simula]] 67 et popularisée par C++ et [[Java (langage)|Java]].</ref>. L'interface avec le langage C est assurée par le module interne ISO_C_BINDING, qui permet à un programme Fortran d'accéder facilement aux innombrables bibliothèques disponibles en C.
| 51 || [[Liste des préfets de la Marne|Préfet de la Marne]], préfet de la région Champagne-Ardenne || Pierre Dartout || align="right" | {{tri date|17|janvier|2013}}
* '''2008'''. Fortran 2008 (ISO/CEI 1539-1:2010)<ref>{{pdf}} [http://www.j3-fortran.org/doc/year/10/10-007r1.pdf Standard Fortran 2008]</ref>.
|-
* La prochaine version prévue, Fortran '''2015''', apportera des modifications mineures au langage<ref>[http://software.intel.com/en-us/blogs/2013/08/08/doctor-fortran-goes-dutch-fortran-2015 Doctor Fortran Goes Dutch: Fortran 2015]</Ref>.
|{{ok}} 52 || [[Liste des préfets de la Haute-Marne|Préfet de la Haute-Marne]] || Jean-Paul Celet || align="right" | {{tri date|6|juin|2012}}

|-
== Bibliothèques graphiques ==
| 53 || [[Liste des préfets de la Mayenne|Préfet de la Mayenne]] || Philippe Vignes || align="right" | {{tri date|19|juin|2013}}
Les normes Fortran n'incluent pas d'instructions graphiques. Pour pallier ce manque, il faut utiliser des [[bibliothèque logicielle|bibliothèques]] :
|-
* [https://github.com/jerryd/gtk-fortran gtk-fortran] : interface [[GTK+]] 2 et 3 / Fortran, entièrement écrite en Fortran 2003 standard grâce au module ISO_C_BINDING. Multiplateforme (Linux, Windows, Mac OS X...) Projet lancé en janvier 2011. Logiciel libre sous licence GPL 3.
|{{ok}} 54 || [[Liste des préfets de Meurthe-et-Moselle|Préfet de Meurthe-et-Moselle]] || Raphaël Bartolt || align="right" | {{tri date|20|juillet|2011}}
* [http://sourceforge.net/projects/pilib pilib] (Platform Independent Library for Fortran) : interface Fortran 90-95 / GTK. Développement arrêté. Logiciel libre.
|-
* Quickwin : bibliothèque graphique fournie avec le Compaq Visual Fortran (désormais Intel Visual Fortran). Ne fonctionne que sous Windows.
| 55 || [[Liste des préfets de la Meuse|Préfète de la Meuse]] || Isabelle Dilhac|| align="right" | {{tri date|14|septembre|2012}}
* [http://www.winteracter.com/ Winteracter] : interface graphique et outils de visualisation. Logiciel commercial pour Windows, Linux et MacOS X.
|-
* [http://protodesign-inc.com/sansgui.htm SansGUI] : interface commerciale pour Windows et Compaq Visual Fortran.
|{{ok}} 56 || [[Liste des préfets du Morbihan|Préfet du Morbihan]] || [[Jean-François Savy]] || align="right" | {{tri date|12|janvier|2011}}
* [http://www.dislin.de/ DISLIN] : bibliothèque graphique créée par le Max Planck Institute for Solar System Research. Multiplate-formes ([[UNIX]], Linux, [[FreeBSD]], OpenVMS, Windows et MS-DOS). Fonctionne avec de nombreux compilateurs. Gratuit pour un usage non-commercial.
|-
* [http://www.japi.de/ JAPI] (Java Application Programming Interface) : interface Java/Fortran permettant de créer une interface graphique complète pour les programmes Fortran. Multiplate-formes (Windows, Linux, [[Solaris (système d'exploitation)|Solaris]]). Fonctionne avec de nombreux compilateurs (entre autres gfortran, Compaq Visual Fortran...) Logiciel libre sous licence LGPL.
| 57 || [[Liste des préfets de la Moselle|Préfet de la Moselle]], préfet de la région [[Lorraine]], préfet de la zone Est || [[Nacer Meddah]] || align="right" | {{tri date|30|mai|2012}}
* [http://wiki.tcl.tk/4004 Ftcl] : interface Fortran-[[Tool Command Language|Tcl]]/TK. Gratuit, open-source.
|-
* [http://math.nist.gov/f90gl/ f90gl] : interface du Fortran 90 avec OpenGL, GLU et GLUT. Multiplate-formes. Fonctionne avec de nombreux compilateurs. Licence : domaine public.
|{{ok}} 57 || Préfet délégué pour la défense et la sécurité de la zone Est || Richard Vignon || align="right" | {{tri date|14|septembre|2011}}
* [http://spdg1.sci.shizuoka.ac.jp/grwinlib/english/ GrWin Graphics Library] : logiciel libre pour Windows.
|-
* [http://www.xeffort.com/index.html Xeffort] : bibliothèque graphique pour Visual Fortran. logiciel libre pour Windows.
| 58 || [[Liste des préfets de la Nièvre|Préfète de la Nièvre]] || Michèle Kirry || align="right" | {{tri date|7|novembre|2012}}
* [http://g2.sourceforge.net/ g2 graphical library] : pour Linux, [[AIX]], [[Digital Unix]], [[SunOS]], [[IRIX]], [[OpenVMS]], Windows. Logiciel libre sous licence LGPL.
|-
* [http://plplot.sourceforge.net/ PLplot] : bibliothèque pour tracer des courbes scientifiques. Multiplate-formes (Linux, [[OpenSolaris]], [[Unix]], MS-DOS, Windows, Mac OS X). Logiciel libre sous licence LGPL.
| 59 || [[Liste des préfets du Nord|Préfet du Nord]], préfet de la région [[Nord-Pas-de-Calais]], préfet de la zone Nord || [[Jean-François Cordet]] || align="right" | {{tri date|30|juillet|2014}} <ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-30-juillet-201/] Compte-rendu du Conseil des Ministres du 30 juillet 2014. </ref>
* [http://www.astro.caltech.edu/~tjp/pgplot/ PGPLOT] : bibliothèque de routines graphiques, interactive, gratuite, multiplate-forme, gère beaucoup de périphériques de sortie.
|-
* [ftp://dogfish.ocean.nova.edu/psplot/ PSPLOT], pour générer des dessins en [[PostScript]].
| 59 || Préfet délégué pour la défense et la sécurité de la zone Nord || Didier Montchamp || align="right" | {{tri date|28|août|2013}}

|-
== Voir aussi ==
| 59 || Préfet délégué pour l’égalité des chances || Kléber Arhoul || align="right" | {{tri date|30|avril|2014}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-mercredi-30-avril-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du mercredi 30 avril 2014.</ref>
{{autres projets
|-
| wikiversity = Fortran
| 60 || [[Liste des préfets de l'Oise|Préfet de l’Oise]] || Emmanuel Berthier || align="right" | {{tri date|24|juillet|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-24-juillet-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 24 juillet 2013.</ref>
| wikiversity titre = Fortran
|-
}}
| 61 || [[Liste des préfets de l'Orne|Préfet de l’Orne]] || Jean-Christophe Moreau || align="right" | {{tri date|1|août|2012}}
* [[Fortress (langage)|Fortress]], un langage visant à remplacer le Fortran
|-
* [[Fortran 90]]
| 62 || [[Liste des préfets du Pas-de-Calais|Préfet du Pas-de-Calais]] || [[Denis Robin (préfet)|Denis Robin]] || align="right" | {{tri date|25|janvier|2012}}
* [[Fortran 95]]
|-

| 63 || [[Liste des préfets du Puy-de-Dôme|Préfet du Puy-de-Dôme]], préfet de la région [[Auvergne]] || Michel Fuzeau || align="right" | {{tri date|24|juillet|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-24-juillet-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 24 juillet 2013.</ref>
== Bibliographie ==
|-
* ''The history of FORTRAN I, II, and III'' par '''[[John Backus]]''' dans ''The first ACM SIGPLAN conference on History of programming languages'', Los Angeles, CA, pages: 165 - 180, 1978, ISSN:0362-1340.
| 64 || [[Liste des préfets des Pyrénées-Atlantiques|Préfet des Pyrénées-Atlantiques]] || Pierre-André Durand || align="right" | {{tri date|30|août|2013}}

|-
== Liens externes ==
| 65 || [[Liste des préfets des Hautes-Pyrénées|Préfète des Hautes-Pyrénées]] || Anne-Gaëlle Baudouin-Clerc || align="right" | {{tri date|31|juillet|2014}}
* {{pdf}} [http://community.computerhistory.org/scc/projects/FORTRAN/FORTRAN_PreliminaryReport_1954.pdf Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN], 10 novembre 1954.
|-
* [http://www.nag.co.uk/sc22wg5/ Site officiel des standards Fortran]
| 66 || [[Liste des préfets des Pyrénées-Orientales|Préfète des Pyrénées-Orientales]] || Josiane Chevalier || align="right" | {{tri date|31|juillet|2014}}
* {{en}} [http://www.polyhedron.com/compare.html Comparaison (benchmark) de différents compilateurs Fortran, en anglais]
|-
* {{fr}} [http://fortran.developpez.com/ Cours, tutoriels, norme et forum Fortran]
| 67 || [[Liste des préfets du Bas-Rhin|Préfet du Bas-Rhin]], préfet de la région [[Alsace]] || Stéphane Bouillon || align="right" | {{tri date|24|octobre|2012}}
* [http://www.fortran.com/FortranForTheIBM704.pdf FORTRAN Reference Manual for the IBM 704 (1956)] {{pdf}}
|-
* ''[https://cs.uwaterloo.ca/research/tr/1968/CSTR-1000.pdf Description of /360 WATFOR - A Fortran IV Compiler]'', [[Université de Waterloo]], 1968 {{pdf}}
| 68 || [[Liste des préfets du Haut-Rhin|Préfet du Haut-Rhin]] || Pascal Lelarge || align="right" | {{tri date|24|juillet|2014}}

|-
== Notes et références ==
|{{ok}} 69 || [[Liste des préfets du Rhône|Préfet du Rhône]], préfet de la région [[Rhône-Alpes]], préfet de la zone Sud-Est || Jean-François Carenco || align="right" | {{tri date|25|novembre|2010}}
{{Références|colonnes=2}}
|-

|{{ok}} 69 || Préfet délégué pour la défense et la sécurité de la zone Sud-Est || Stéphane Rouvé || align="right" | {{tri date|17|avril|2013}}
|-
<!--
{{Palette Langages de programmation}}
|{{ok}} 69 || Préfet délégué pour l’égalité des chances || Philip Alloncle || align="right" | {{tri date|27|juin|2013}}
{{Portail|programmation informatique}}
|-

|{{ok}} 70 || [[Liste des préfets de la Haute-Saône|Préfet de la Haute-Saône]] || François Hamet || align="right" | {{tri date|30|avril|2014}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-mercredi-30-avril-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du mercredi 30 avril 2014.</ref>
[[Catégorie:Langage Fortran]]
|-
[[Catégorie:Langage de programmation]]
| 71 || [[Liste des préfets de Saône-et-Loire|Préfet de Saône-et-Loire]] || [[Fabien Sudry]] || align="right" | {{tri date|14|mars|2013}}
[[Catégorie:Norme ISO]]
|-
[[Catégorie:Norme CEI]]
| 72 || [[Liste des préfets de la Sarthe|Préfet de la Sarthe]] || Corinne Orzechowski || align="right" | {{tri date|24|juillet|2014}}
|-
-->
| 73 || [[Liste des préfets de la Savoie|Préfet de la Savoie]] || Éric Jalon || align="right" | {{tri date|30|juillet|2012}}
|-
| 74 || [[Liste des préfets de la Haute-Savoie|Préfet de la Haute-Savoie]] || Georges-François Leclerc || align="right" | {{tri date|11|juillet|2012}}
|-
| 75 || [[Liste des préfets de la Seine|Préfet de Paris]], préfet de la région [[Île-de-France]] || [[Jean Daubigny]] || align="right" | {{tri date|19|décembre|2012}}
|-
| 75 || Préfet de police de Paris, préfet de la zone de défense et de sécurité de Paris || [[Bernard Boucault]] || align="right" | {{tri date|30|mai|2012}}
|-
| 76 || [[Liste des préfets de la Seine-Maritime|Préfet de la Seine-Maritime]], préfet de la région [[Haute-Normandie]] || Pierre-Henry Maccioni || align="right" | {{tri date|17|janvier|2013}}
|-
| 77 || [[Liste des préfets de Seine-et-Marne|Préfet de Seine-et-Marne]] || [[Jean-Luc Marx]] || align="right" | {{tri date|31|juillet|2014}}
|-
| 78 || [[Liste des préfets des Yvelines|Préfet des Yvelines]] || [[Erard Corbin de Mangoux]] || align="right" | {{tri date|10|avril|2013}}
|-
|{{ok}} 79 || [[Liste des préfets des Deux-Sèvres|Préfet des Deux-Sèvres]] || Pierre Lambert || align="right" | {{tri date|6|juin|2012}}
|-
| 80 || [[Liste des préfets de la Somme|Préfète de la Somme]], préfète de la région [[Picardie]] || [[Nicole Klein]] || align="right" | {{tri date|31|juillet|2014}}
|-
| 81 || [[Liste des préfets du Tarn|Préfet du Tarn]] || Thierry Gentilhomme || align="right" | {{tri date|31|juillet|2014}}
|-
| 82 || [[Liste des préfets de Tarn-et-Garonne|Préfet de Tarn-et-Garonne]] || Jean-Louis Géraud || align="right" | {{tri date|14|mars|2013}}
|-
| 83 || [[Liste des préfets du Var|Préfet du Var]] || [[Laurent Cayrel]] || align="right" | {{tri date|24|octobre|2012}}
|-
|{{ok}} 83 || Préfet maritime de la Méditerranée (à [[Toulon]]) || Vice-amiral d’escadre Yves Joly || align="right" | {{tri date|30|août|2013}}
|-
| 84 || [[Liste des préfets de Vaucluse|Préfet de Vaucluse]] || Yannick Blanc || align="right" | {{tri date|1|août|2012}}
|-
| 85 || [[Liste des préfets de la Vendée|Préfet de la Vendée]] || Jean-Benoit Albertini || align="right" | {{tri date|24|juillet|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-24-juillet-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 24 juillet 2013.</ref>
|-
| 86 || [[Liste des préfets de la Vienne|Préfète de la Vienne]], préfète de la région [[Poitou-Charentes]] || [[Christiane Barret]] || align="right" | {{tri date|30|avril|2014}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-mercredi-30-avril-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du mercredi 30 avril 2014.</ref>
|-
| 87 || [[Liste des préfets de la Haute-Vienne|Préfet de la Haute-Vienne]], préfet de la région [[Limousin]] || Michel Jau || align="right" | {{tri date|10|avril|2013}}
|-
| 88 || [[Liste des préfets des Vosges|Préfet des Vosges]] || Gilbert Payet || align="right" | {{tri date|22|février|2013}}
|-
| 89 || [[Liste des préfets de l'Yonne|Préfet de l’Yonne]] || Raymond Le Deun || align="right" | {{tri date|3|octobre|2012}}
|-
|{{ok}} 90 || [[Liste des préfets du Territoire de Belfort|Préfet du Territoire de Belfort]] || Pascal Joly || align="right" | {{tri date|12|mars|2014}}
|-
| 91 || [[Liste des préfets de l'Essonne|Préfet de l’Essonne]] || Bernard Schmeltz || align="right" | {{tri date|24|juillet|2013}}<ref>[http://www.elysee.fr/conseils-des-ministres/article/compte-rendu-du-conseil-des-ministres-du-24-juillet-201/ Site internet officiel de la Présidence de la République] Compte-rendu du Conseil des ministres du 24 juillet 2013.</ref>
|-
| 91 || Préfet délégué pour l’égalité des chances || Seymour Morsye|| align="right" | {{tri date|6|juin|2012}}
|-
| 92 || [[Liste des préfets des Hauts-de-Seine|Préfet des Hauts-de-Seine]] || Yann Jounot || align="right" | {{tri date|7|novembre|2013}}
|-
| 93 || [[Liste des préfets de la Seine-Saint-Denis|Préfet de la Seine-Saint-Denis]] || [[Philippe Galli]] || align="right" | {{tri date|5|juin|2013}}
|-
| 93 || Préfet délégué pour l’égalité des chances || Didier Leschi || align="right" | {{tri date|17|avril|2013}}
|-
| 94 || [[Liste des préfets du Val-de-Marne|Préfet du Val-de-Marne]] || Thierry Leleu || align="right" | {{tri date|17|janvier|2013}}
|-
| 95 || [[Liste des préfets du Val-d'Oise|Préfet du Val-d’Oise]] || [[Jean-Luc Névache]] || align="right" | {{tri date|17|janvier|2013}}
|-
| 95 || Préfète déléguée pour l’égalité des chances || [[Sylvie Feucher|Sylvie Daniélo-Feucher]] || align="right" | {{tri date|5|août|2013}}
|-
|{{ok}} 971 || [[Liste des préfets de Guadeloupe|Préfète de la Guadeloupe]], préfète de la région [[Guadeloupe]]<ref>Également représentante de l’État dans la collectivité de [[Saint-Barthélemy (Antilles françaises)|Saint-Barthélemy]] et représentante de l’État dans la collectivité de [[Saint-Martin (Antilles françaises)|Saint-Martin]].</ref> || [[Marcelle Pierrot]] || align="right" | {{tri date|23|janvier|2013}}
|-
|{{ok}} 972 || [[Liste des préfets de la Martinique|Préfet de la Martinique]], préfet de la région [[Martinique]] || [[Fabrice Rigoulet-Roze]] || align="right" | {{tri date|31|juillet|2014}}
|-
|{{ok}} 973 || [[Liste des préfets de Guyane|Préfet de la Guyane]], préfet de la région [[Guyane]] || Éric Spitz || align="right" | {{tri date|5|juin|2013}}
|-
|{{ok}} 974 || [[Liste des préfets de La Réunion|Préfet de la Réunion]], préfet de la région [[La Réunion|Réunion]] || Dominique Sorain || align="right" | {{tri date|31|juillet|2014}}
|-
|{{ok}} 975 || [[Liste des préfets de Saint-Pierre-et-Miquelon|Préfet de la collectivité territoriale de Saint-Pierre-et-Miquelon]] || Jean-Christophe Bouvier || align="right" | {{tri date|31|juillet|2014}}
|-
|{{ok}} 976 || [[Liste des préfets de Mayotte|Préfet de Mayotte]] || Seymour Morsy || align="right" | {{tri date|31|juillet|2014}}
|-
| 977 || [[Saint-Barthélemy (Antilles françaises)|Préfet de Saint-Barthélemy]]<ref name="guadeloupe">Délégué du préfet de la Guadeloupe.</ref> || Philippe Chopin || align="right" | {{tri date|16|novembre|2011}}
|-
| 978 || [[Saint-Martin (Antilles françaises)|Préfet de Saint-Martin]]<ref name="guadeloupe" /> || Philippe Chopin || align="right" | {{tri date|16|novembre|2011}}
|-
| 984 || [[Liste des administrateurs supérieurs des Terres australes et antarctiques françaises|Administrateur supérieur des Terres australes et antarctiques françaises]] (siège à [[Saint-Pierre (La Réunion)|Saint-Pierre]] de la Réunion) || Pascal Bolot<ref>Prend ses fonctions le 10 avril 2012.</ref> || align="right" | {{tri date|29|février|2012}}
|-
| 986 || [[Liste des administrateurs supérieurs de Wallis-et-Futuna|Administrateur supérieur de Wallis-et-Futuna]] || Michel Aubouin || align="right" | {{tri date|27|février|2013}}
|-
| 987 || [[Haut-commissaire de la République en Polynésie française]] || Jean-Pierre Laflaquière || align="right" | {{tri date|1|août|2012}}
|-
| 988 || [[Haut-commissaire de la République en Nouvelle-Calédonie]] || [[Jean-Jacques Brot]] || align="right" | {{tri date|23|janvier|2013}}
|-
| 989 || Administrateur de [[Clipperton]] (siège à Paris)<ref>Depuis février 2007, le ministre de l’Outre-Mer est l’administrateur de l’île de Clipperton.</ref> || [[George Pau-Langevin]] || align="right" | {{tri date|17|mai|2012}}
|}

Version du 29 décembre 2014 à 22:32

Fortran
Logo.
Date de première version 1957
Paradigme Multi-paradigme : impératif (procédural, structuré, orienté-objet), générique
Auteur John Backus
Développeur John Backus & IBM
Typage fort, statique
Influencé par Speedcoding
A influencé Algol 58, BASIC, C, PL/I, PACT I, MUMPS, Ratfor
Implémentations Absoft, Cray, GFortran, G95, IBM, Intel, Lahey/Fujitsu, Open Watcom, PathScale, PGI, Silverfrost, Oracle, XL Fortran, Visual Fortran, others

Fortran (FORmula TRANslator) est un langage de programmation utilisé principalement en calcul scientifique.

Historique

John Backus, pionnier de l'informatique, publie en 1954 un article titré Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN. Il faut ensuite deux ans d'efforts à l'équipe qu'il dirige au sein d'IBM pour écrire le premier compilateur FORTRAN (25 000 lignes[1], pour l'IBM 704).

Le nom du langage a été écrit conventionnellement en majuscules (FORTRAN) jusqu'en 1992 et l'introduction du Fortran 90 à syntaxe libre[2]. En FORTRAN 77, les lettres minuscules ne font pas partie du langage. Cette convention se retrouve dans cet article et est conforme aux différentes normes du Fortran, de 1966 à aujourd'hui.

Aujourd'hui encore (années 2010), le langage Fortran reste très utilisé pour plusieurs raisons :

  1. La présence de très nombreuses bibliothèques de fonctions, mises au point et améliorées durant de nombreuses années ;
  2. l'existence de logiciels en Fortran ayant demandé des ressources très importantes pour leur développement, et dont le passage à un autre langage est jugé trop coûteux ;
  3. l'existence de compilateurs Fortran performants qui produisent des exécutables très rapides ;
  4. le langage est plus facilement accessible (que par exemple le C++) à un scientifique n'ayant pas eu un cursus spécialisé en informatique.

Toutefois, beaucoup de programmes scientifiques sont à présent écrits en C et C++[3], dont les compilateurs sont disponibles sur la plupart des machines. D'autres langages compilés sont parfois utilisés pour le calcul scientifique, et surtout des logiciels tels que Scilab ou Matlab. Ces derniers incorporent d'ailleurs les bibliothèques BLAS et LAPACK, développées en Fortran[4],[5]. Matlab était à l'origine un programme en Fortran, distribué aux universités et aux centres de recherche[6].

Le FORTRAN, créé à l'époque des cartes perforées (en particulier avec le système FMS), optimise la mise en page de ses sources dans cette optique, jusqu'au Fortran 90 qui introduit une syntaxe « libre ». Avant Fortran 90, le code commence à partir de la 7e colonne et ne doit pas dépasser la 72e. Il se présente alors ainsi :

  • La colonne 1 peut contenir la lettre C indiquant un commentaire. Le caractère * est aussi accepté ;
  • Les colonnes 1 à 5 peuvent contenir une étiquette numérique (facultative) de l'instruction, dont la valeur peut être limitée à 32 767 ou 9 999 suivant le compilateur (en FORTRAN II des ordinateurs Advanced Scientific Instruments ASI 210 et ASI 2100) ;
  • La colonne 6 indique une suite de l'instruction précédente ;
  • Les colonnes 73 à 80 servent à l'identification et la numérotation des cartes perforées (souvent les trois initiales du projet, du chef de projet ou du programmeur, suivies de numéros de cinq chiffres attribués de dix en dix pour permettre des insertions de dernière minute).

Il faut également noter qu'avant Fortran 90, les espaces n'ont pas de signification entre la 7e et la 72e colonne. Ainsi, la boucle « DO I=1,5 » peut aussi s'écrire « DOI=1,5 ». En revanche, « DO I=1.5 » est équivalent à « DOI=1.5 », une affectation.

De nombreux codes industriels ont été écrits en Fortran (NASTRAN, bibliothèques NAG et IMSL, etc.) et la compatibilité des nouvelles versions avec les précédentes est indispensable, au prix de conserver des notions qui ne s'imposent plus. Pour cette raison, Fortran 90 est complètement compatible avec FORTRAN 77. Les versions suivantes du standard ont cependant introduit des incompatibilités.

Le langage BASIC, dans sa version originale (1964), a été conçu comme un petit langage à caractère pédagogique permettant d'initier les étudiants à la programmation, avant de passer aux langages « sérieux » de l'époque : FORTRAN et Algol. On y retrouve donc quelques traits du langage Fortran.

Logiel en FORTRAN-77 avec sortie du compilateur (ordinateur : CDC 175 de l'Université technique de Rhénanie-Westphalie à Aix-la-Chapelle).

Compilateurs

Le compilateur libre GCC permet de compiler le Fortran 77 (compilateur g77[7],[8], jusqu'à gcc 3.4.6). Le compilateur gfortran[9] apparaît avec GCC 4.0.0, en 2005[10],[11]. Il est issu d'un fork réalisé en 2003 de G95, un autre compilateur libre, dont le développement a débuté en 2000. Le développement de G95 a par ailleurs été interrompu entre 2008 et 2012. En 2013, gfortran prend pleinement en charge le standard Fortran 95, et une partie de Fortran 2003[12] et Fortran 2008[13]. Il n'a d'ailleurs pas à rougir devant les compilateurs commerciaux, pour le support de ces deux « nouveaux » standards[14],[15], les fabricants étant parfois plus intéressés par l'amélioration de la vitesse du code produit que par les dernières fonctionnalités offertes par le standard.

Open64 (en)[16] est un autre compilateur libre de Fortran 95, à ne pas confondre avec AMD x86 Open64[17], lui aussi libre. On trouve également le compilateur libre Open Watcom[18], mais il ne compile que du Fortran 77, et aucune évolution vers un standard plus récent n'est prévue.

On trouve de nombreux compilateurs commerciaux[19], parmi lesquels : Lahey[20], Absoft[21], PathScale (en)[22], Portland Group (en)[23] (filiale de NVidia), NAG, etc. La plupart des fabricants de stations de travail ou d'ordinateurs destinés au calcul intensif, proposent également un compilateur de Fortran : Intel[24], IBM[25], HP[26], SGI[27], Oracle (suite au rachat de Sun Microsystems[28]), Unisys[29], Cray[30], etc. Cela comprend aussi les fabricants aujourd'hui disparus[31], tels que CDC ou DEC (ce dernier a été racheté par Compaq, qui a plus tard fusionné avec HP).

Certains de ces compilateurs commerciaux ont des versions gratuites pour une utilisation non commerciale : c'est le cas d'Intel[32], Oracle[33], PathScale[34]. IBM a également mis à disposition une version beta de son compilateur XL Fortran pour MacOS X (sur PowerPC), jusqu'à la sortie de la version commerciale.

Exemple

      PROGRAM DEGRAD 
! 
! Imprime une table de conversion degrés -> radians 
! ================================================= 
! 
! Déclaration des variables 
      INTEGER DEG 
      REAL RAD, COEFF 
! 
! En-tête de programme 
      WRITE (*, 10) 
   10 FORMAT (' ',20('*') /                                             &
     &        ' * Degres * Radians *' /                                 &
     &        ' ', 20('*') )                                       
! 
! Corps de programme 
      COEFF = (2.0 * 3.1416) / 360.0 
      DO DEG = 0, 90 
         RAD = DEG * COEFF 
         WRITE (*, 20) DEG, RAD 
   20 FORMAT (' *  ',I4,'  * ',F7.5,' *') 
      END DO 
! 
! Fin du tableau 
      WRITE ( *, 30) 
   30 FORMAT (' ',20('*') ) 
! 
! Fin de programme 
      STOP 
      END PROGRAM DEGRAD

Notes :

  • Ce programme est écrit en Fortran 90, en « forme fixe » et dans un style favorisant la compatibilité avec Fortran 77.
  • Le symbole « ! » indique un commentaire. Il peut être remplacé par les caractères « C » ou « * » lorsqu'il sont utilisés comme premier caractère.
  • La déclaration des variables est facultative en Fortran, mais sans déclaration, la variable DEG serait alors de type REAL (les variables dont le nom commence par une des lettres I, J, K, L, M ou N sont par défaut de type INTEGER, les autres de type REAL).
  • L'instruction WRITE se réfère à une unité d'entrée-sortie (ici * désigne le terminal) et une spécification de format. Par exemple le format d'étiquette 20 indique qu'il faut écrire un espace, une étoile et deux espaces, un entier (la valeur de DEG) sur 4 caractères puis la valeur de RAD sur 7 caractères dont 5 après le point décimal et enfin une espace et une étoile. Une déclaration de FORMAT peut être n'importe où ; une habitude est de la mettre juste après le WRITE à laquelle elle se réfère, une autre est de les mettre toutes à la fin de l'unité de programme. Plus d'une instruction WRITE peut faire référence à un même FORMAT.
  • Le caractère / à la fin d'une ligne indique une suite à la ligne suivante et le caractère & au début de la ligne indique la suite de la ligne précédente.
  • L'instruction « DO DEG = 0,90 » indique de répéter en boucle les instructions qui suivent (jusqu'au END DO) pour toutes les valeurs de DEG de 0 à 90 par pas de 1.

Différentes versions de Fortran

Le langage Fortran a connu de nombreuses évolutions[35] :

  • 1956. Fortran II n'avait qu'une seule instruction de branchement conditionnel (« IF-arithmétique ») à trois adresses : IF (A-B) 10, 20, 30 indiquait de sauter aux instructions d'étiquette 10, 20 ou 30 selon que A-B était négatif, nul ou positif. Cette forme de IF était la seule à exister sur l'IBM 1130 lancée pourtant plus de dix ans plus tard.
  • 1958. Fortran III n'est jamais sorti sous forme de produit.
  • 1962. Fortran IV introduit, entre autres, l'instruction « IF-logique », permettant d'écrire IF (A .GE. B) GOTO 10 (aller à 10 si A est supérieur ou égal à B).
  • FORTRAN V était le nom envisagé au départ pour PL/I, langage de programmation universel d'IBM qui devait réunir les meilleurs aspects de Fortran (pour les applications scientifiques), de COBOL (pour les applications de gestion), avec quelques emprunts à Algol.
  • 1965. Le standard ECMA Fortran[36], situé à cheval entre le « Basic Fortran » et le « Fortran USASI »
  • 1966. Fortran 66 (USASI X3.9-1966)[37] est la première version officiellement standardisée (par l'American Standards Association) de Fortran. On la confond souvent avec Fortran IV.
  • 1978. Fortran 77 (ANSI X3.9-1978)[38], entre autres améliorations, facilite la programmation structurée avec des blocs « IF / THEN / ELSE / ENDIF ». En 1978, une extension introduit entre autres « DO WHILE / END DO »[39].
  • 1990. Fortran 90 (ANSI X3.198-1992)[40] : modules, récursivité, surcharge des opérateurs, nouveaux types de données, etc. C'est une mise à jour importante pour mettre Fortran au niveau des autres langages modernes. Les restrictions concernant la mise en forme des programmes (colonnes 1 à 72) disparaissent : l'écriture se fait en format libre.
  • 1995. Fortran 95 (ISO/CEI 1539-1:1997)[41]
  • 2003. Fortran 2003 (ISO/CEI 1539-1:2004)[42] : comme le COBOL 2002, Fortran supporte maintenant la programmation orientée objet[43]. L'interface avec le langage C est assurée par le module interne ISO_C_BINDING, qui permet à un programme Fortran d'accéder facilement aux innombrables bibliothèques disponibles en C.
  • 2008. Fortran 2008 (ISO/CEI 1539-1:2010)[44].
  • La prochaine version prévue, Fortran 2015, apportera des modifications mineures au langage[45].

Bibliothèques graphiques

Les normes Fortran n'incluent pas d'instructions graphiques. Pour pallier ce manque, il faut utiliser des bibliothèques :

  • gtk-fortran : interface GTK+ 2 et 3 / Fortran, entièrement écrite en Fortran 2003 standard grâce au module ISO_C_BINDING. Multiplateforme (Linux, Windows, Mac OS X...) Projet lancé en janvier 2011. Logiciel libre sous licence GPL 3.
  • pilib (Platform Independent Library for Fortran) : interface Fortran 90-95 / GTK. Développement arrêté. Logiciel libre.
  • Quickwin : bibliothèque graphique fournie avec le Compaq Visual Fortran (désormais Intel Visual Fortran). Ne fonctionne que sous Windows.
  • Winteracter : interface graphique et outils de visualisation. Logiciel commercial pour Windows, Linux et MacOS X.
  • SansGUI : interface commerciale pour Windows et Compaq Visual Fortran.
  • DISLIN : bibliothèque graphique créée par le Max Planck Institute for Solar System Research. Multiplate-formes (UNIX, Linux, FreeBSD, OpenVMS, Windows et MS-DOS). Fonctionne avec de nombreux compilateurs. Gratuit pour un usage non-commercial.
  • JAPI (Java Application Programming Interface) : interface Java/Fortran permettant de créer une interface graphique complète pour les programmes Fortran. Multiplate-formes (Windows, Linux, Solaris). Fonctionne avec de nombreux compilateurs (entre autres gfortran, Compaq Visual Fortran...) Logiciel libre sous licence LGPL.
  • Ftcl : interface Fortran-Tcl/TK. Gratuit, open-source.
  • f90gl : interface du Fortran 90 avec OpenGL, GLU et GLUT. Multiplate-formes. Fonctionne avec de nombreux compilateurs. Licence : domaine public.
  • GrWin Graphics Library : logiciel libre pour Windows.
  • Xeffort : bibliothèque graphique pour Visual Fortran. logiciel libre pour Windows.
  • g2 graphical library : pour Linux, AIX, Digital Unix, SunOS, IRIX, OpenVMS, Windows. Logiciel libre sous licence LGPL.
  • PLplot : bibliothèque pour tracer des courbes scientifiques. Multiplate-formes (Linux, OpenSolaris, Unix, MS-DOS, Windows, Mac OS X). Logiciel libre sous licence LGPL.
  • PGPLOT : bibliothèque de routines graphiques, interactive, gratuite, multiplate-forme, gère beaucoup de périphériques de sortie.
  • PSPLOT, pour générer des dessins en PostScript.

Voir aussi

Sur les autres projets Wikimedia :

Bibliographie

  • The history of FORTRAN I, II, and III par John Backus dans The first ACM SIGPLAN conference on History of programming languages, Los Angeles, CA, pages: 165 - 180, 1978, ISSN:0362-1340.

Liens externes

Notes et références

  1. « John Backus », sur IBM Archives (consulté le )
  2. Toutefois, on trouve déjà l'écriture « Fortran » dans le premier manuel de Fortran, remontant à 1956.
  3. Par exemple la GSL écrite en C, et Blitz++ ou IML++, en C++.
  4. MATLAB Incorporates LAPACK.
  5. Computation in Scilab.
  6. Code source de la première version de Matlab.
  7. Copie de l'ancien site de g77
  8. g77 pour Windows sur le site de l'USGS
  9. GCC Wiki - GFortran
  10. GCC 4.0 Release Series - Changes, New Features, and Fixes
  11. Code source de GCC 4.0.0
  12. gfortran - 4.1 Fortran 2003 status
  13. gfortran - 4.2 Fortran 2008 status
  14. Compiler Support for the Fortran 2003 Standard
  15. Compiler Support for the Fortran 2008 Standard
  16. Open64
  17. AMD - x86 Open64 Compiler Suite
  18. Open Watcom
  19. Polyhedron Software - Fortran Compiler Comparisons
  20. Lahey Fortran
  21. Absoft Fortran
  22. PathScale EKOPath
  23. Portland Group Fortran
  24. Intel Fortran Compilers
  25. IBM - Fortran Compilers family
  26. HP Fortran for OpenVMS documentation
  27. SGI - Fortran MP Applications Development
  28. Oracle Solaris Studio
  29. Unisys - Documentation Libraries
  30. CrayDoc - Customer Documentation
  31. Bitsavers - documentation d'ordinateurs anciens
  32. Intel - Téléchargement de logiciels à usage non commercial
  33. Téléchargement de Oracle Solaris Studio
  34. Pathscale EKOPath pour Linux, version du 15 décembre 2014
  35. Voir aussi les sites du Working Group 5 et du comité J3 pour plus d'informations sur l'évolution actuelle du standard
  36. [PDF] Standard ECMA Fortran
  37. [PDF] Standard Fortran 66
  38. [PDF] Standard Fortran 77
  39. [PDF] MIL-STD-1753, Military Standard: Fortran, DOD Supplement to American National Standard X3.9-1978
  40. [PDF] Standard Fortran 90
  41. [PDF] Standard Fortran 95
  42. [PDF] Standard Fortran 2003
  43. initiée par Simula 67 et popularisée par C++ et Java.
  44. [PDF] Standard Fortran 2008
  45. Doctor Fortran Goes Dutch: Fortran 2015