Fortran

Fortran
Logo.
Date de première version 1954
Paradigme Multi-paradigme : impératif ( procédural, structuré, orienté-objet), générique
Auteur John Backus
Développeur John Backus & IBM
Dernière version Fortran 2008 (ISO/IEC 1539-1:2010) Voir et modifier les données sur Wikidata
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 etc.

Fortran (FORmula TRANslator) est un langage de programmation utilisé principalement pour le calcul scientifique. Inventé en 1954, c'est le plus ancien langage de programmation de haut niveau, suivi notamment par Lisp (1958), Algol (1958) et COBOL (1959). Le nombre de bibliothèques scientifiques écrites en Fortran, et les efforts continus consacrés aux compilateurs pour exploiter au fil des décennies les nouvelles possibilités des calculateurs ( vectorisation, coprocesseurs, parallélisme) ont maintenu l'usage de ce langage, non sans d'importantes évolutions.

Historique

John Backus, ingénieur en radiophonie recruté quatre ans plus tôt par IBM, publie en 1954 un article intitulé Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN [1]. 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 [2], pour l' IBM 704) [3]

Le nom du langage est parfois écrit conventionnellement en majuscules (FORTRAN) pour désigner les versions du langage jusqu'au Fortran 77, par opposition aux versions à syntaxe libre, depuis Fortran 90 [4]. Par ailleurs, dans le standard Fortran 77, les lettres minuscules ne font pas partie du langage, même si la plupart des compilateurs les prennent en charge, en extension au standard.

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

  • 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 ;
  • l'existence de compilateurs 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. [réf. nécessaire]

Toutefois, beaucoup de programmes scientifiques sont à présent écrits en C et C++ [5], 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 [6], [7]. Matlab était à l'origine un programme en Fortran, distribué aux universités et aux centres de recherche [8].

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 10 I=1,5 peut aussi s'écrire DO10I=1,5. En revanche, DO 10 I=1.5 est équivalent à DO10I=1.5, affectation de la valeur 1.5 à la variable DO10I. Le 10 représente ici le label de fin de boucle, obligatoire avant Fortran 90 : ce dernier a introduit le END DO, qui était déjà pris en charge par de nombreux compilateurs sous forme d'extension au standard Fortran 77. L'extension MIL-STD-1753 du département de la Défense américain avait déjà introduit ce END DO en Fortran 77 (à la place d'une instruction ou de CONTINUE), dès 1978, mais le label restait obligatoire [9].

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.

Logiciel en Fortran 77 avec sortie du compilateur (ordinateur : CDC 175 de l' Université technique de Rhénanie-Westphalie à Aix-la-Chapelle).
Other Languages
العربية: فورتران
azərbaycanca: Fortran
беларуская: Fortran
български: FORTRAN
বাংলা: ফোরট্রান
bosanski: FORTRAN
català: Fortran
کوردیی ناوەندی: فۆرتران
čeština: Fortran
Чӑвашла: Фортран
dansk: Fortran
Deutsch: Fortran
Ελληνικά: Fortran
English: Fortran
español: Fortran
eesti: Fortran
euskara: FORTRAN
فارسی: فورترن
suomi: Fortran
Gaeilge: FORTRAN
עברית: Fortran
हिन्दी: फ़ोरट्रान
hrvatski: Fortran
magyar: Fortran
interlingua: FORTRAN
Bahasa Indonesia: Fortran
italiano: Fortran
日本語: FORTRAN
Taqbaylit: Fortran
қазақша: Фортран
한국어: 포트란
Kurdî: Fortran
Latina: FORTRAN
lietuvių: Fortran
latviešu: Fortran
മലയാളം: ഫോർട്രാൻ
монгол: Фортран
Bahasa Melayu: FORTRAN
Mirandés: FORTRAN
မြန်မာဘာသာ: Fortran
Nederlands: Fortran
norsk nynorsk: Fortran
norsk bokmål: Fortran
occitan: Fortran
polski: Fortran
português: Fortran
română: Fortran
русский: Фортран
саха тыла: Fortran
srpskohrvatski / српскохрватски: Fortran
Simple English: Fortran
slovenčina: Fortran
slovenščina: Fortran
shqip: Fortran
српски / srpski: Фортран
svenska: Fortran
తెలుగు: ఫోర్ట్రాన్
тоҷикӣ: Фортран
Türkçe: Fortran
українська: Фортран
Tiếng Việt: Fortran
中文: Fortran