Fortran (mathematical FORmula TRANslating system) est un langage de programmation généraliste dont les domaines de prédilection sont le calcul scientifique et le calcul numérique. Il est utilisé aussi bien sur ordinateur personnel que sur les superordinateurs, où il sert d'ailleurs à tester leurs performances dans le cadre du classement TOP500 des superordinateurs les plus puissants au monde, entre autres grâce à la bibliothèque LINPACK.
Le nombre de bibliothèques scientifiques écrites en Fortran, éprouvées et améliorées pendant de longues années, 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 qui ne cesse d'évoluer.
Parmi les fonctionnalités ajoutées ces dernières décennies, on citera le calcul sur les tableaux (qui peuvent comporter jusqu'à quinze dimensions), la programmation modulaire, la programmation générique (Fortran 90), le calcul haute performance (Fortran 95), la programmation orientée objet et l'interopérabilité avec les bibliothèques du langage C (Fortran 2003), la programmation concurrente et le calcul parallèle à l'aide des cotableaux (Fortran 2008), des équipes, des évènements et des sous-routines collectives (Fortran 2018), en plus des interfaces OpenMP, OpenACC et de la bibliothèque Message Passing Interface. La norme actuelle est Fortran 2023, publiée le 17 novembre 2023. Les discussions ont commencé sur le contenu de la future norme Fortran 2028.
Projet lancé en 1954 et aboutissant à une première version en 1957, Fortran est le premier langage de programmation de haut niveau, suivi notamment par Lisp (1958), Algol (1958) et COBOL (1959). Il est le premier langage à être normalisé, au milieu des années 60, et est devenu une norme ISO en 1980. Un astéroïde a été nommé 9548 Fortran (1985 CN) en son honneur.
Le nom du langage est généralement écrit en majuscules (FORTRAN) pour désigner les versions du langage antérieures à la norme Fortran 90 car à l'époque les lettres minuscules ne font pas partie du jeu de caractères du langage. Par contre, il est toujours écrit avec une majuscule à partir de Fortran 90. Enfin, depuis environ 2010 les titres des livres en anglais utilisent souvent l'expression modern Fortran (Fortran moderne) pour distinguer la forme actuelle du langage de ses formes historiques.
1953 : John Backus, jeune ingénieur titulaire d'une maîtrise de mathématiques recruté en 1950 chez IBM, développe pour l'IBM 701 le système Speedcoding, un interpréteur qui facilite la programmation en particulier pour le calcul en virgule flottante. En décembre, il rédige une lettre à l'attention de son supérieur Cuthbert Hurd (en) pour lui proposer le projet FORTRAN destiné à l'IBM 704. L'objectif est d'accélérer considérablement le développement et le débogage des programmes, jusqu'alors écrits en langage machine, afin de réduire leur coût d'exploitation, qui pour moitié provient des salaires des informaticiens et pour moitié des machines. Backus insiste pour que l'IBM 704 devienne la première machine commerciale dont le processeur supporte directement les nombres en virgule flottante.
1954 : le groupe de recherche de Backus, le « Programming Research Group » basé à New York, rédige un rapport intitulé Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN, daté du 10 novembre 1954. Il faut encore deux ans d'efforts pour terminer le premier compilateur FORTRAN (25 000 lignes), désigné alors par le mot anglais translator (traducteur). Dès le départ, ce compilateur est conçu pour fournir un code très optimisé, en particulier pour le calcul sur les tableaux et le traitement des boucles imbriquées, quasiment aussi rapide que celui qu'aurait écrit un programmeur en langage machine (objectif alors accueilli avec scepticisme par les clients d'IBM). D'après Backus lui-même, le développement du langage ne peut pas être séparé de la conception du compilateur et c'est même sur le compilateur que porte l'essentiel de l'effort initial. Le langage est défini au fur et à mesure, avec comme guide principal la simplicité de la syntaxe.
1957 : le compilateur FORTRAN est déployé courant avril sur tous les IBM 704, sur bande magnétique, avec son manuel intitulé Preliminary Operator's Manual. Fin 1957, un manuel plus complet, le Programmer's Primer rédigé par Grace E. Mitchell, est édité. FORTRAN est un succès et une révolution car il n'est plus nécessaire d'être un expert de l'ordinateur pour écrire et déboguer des programmes. Mary Tsingou, physicienne et mathématicienne au Los Alamos National Laboratory et qui travailla avec Fermi, Pasta et Ulam, dira ainsi : « Quand le Fortran est arrivé, c'était presque comme le paradis ». D'après la revue Nature (2021), ce compilateur fait partie des dix codes informatiques ayant le plus marqué la science. L'instruction GO TO permet de sauter à une ligne numérotée par une étiquette. Le IF de cette première version est arithmétique : IF (A-B) 10, 20, 30 permet de sauter aux instructions d'étiquettes 10, 20 ou 30 selon que l'expression A-B est négative, nulle ou positive.
1958 : FORTRAN II apporte les fonctions FUNCTION et les sous-programmes SUBROUTINE que l’on appelle par l’instruction CALL, ce qui permet aux programmeurs de se répartir plus facilement le travail. L'instruction COMMON permet à plusieurs sous-programmes de partager des données communes. Le nouveau compilateur est également plus rapide que le compilateur Fortran I : il permet en particulier de découper un long programme en plusieurs parties pouvant être compilées indépendamment.
1959 : FORTRAN III n'est déployé que sur une vingtaine de machines. Il est possible d'insérer des routines en langage assembleur symbolique dans le code mais cette fonctionnalité sera abandonnée car elle compromettrait la portabilité des programmes écrits en FORTRAN. Le groupe de Backus n'est plus chargé du développement du FORTRAN, activité transférée à l'Applied Programming Department. Backus préconise le développement de deux compilateurs : un compilateur rapide pour la phase de débogage et un compilateur optimiseur pour le programme final. Mais l'idée n'est pas suivie.
1960 : FORTRAN devient l'un des premiers langages multi-plateforme, des compilateurs devenant disponibles sur quelques machines d'autres constructeurs qu'IBM.
1962 : FORTRAN IV introduit les nombres réels double précision, les complexes et les booléens, ainsi que les opérateurs .AND., .OR. et .NOT.. Le IF logique permet d'écrire par exemple IF (A .GE. B) GOTO 10 (aller à 10 si A est supérieur ou égal à B). Le type des variables peut désormais être déclaré explicitement. Il est nécessaire de modifier les programmes écrits en FORTRAN II : le traducteur automatique SIFT (SHARE Internal FORTRAN Translator) est mis à disposition. Cette même année, chaque compilateur apportant ses extensions et variantes, un comité des normes FORTRAN est formé afin de normaliser le langage pour qu'il soit portable d'une machine à l'autre.
1962 : le processus de normalisation du langage est lancé avec le comité ASA X3.4.3. Des brouillons sont publiés en 1964 dans Communications of the ACM.
1965 : ECMA-9 FORTRAN est la première norme FORTRAN, publiée en avril 1965 par l'ECMA (European Computer Manufacturers Association) dans le cadre d'une collaboration avec l'ANSI (American National Standards Institute). Il s'agit en fait d'une version du langage intermédiaire entre les deux niveaux du langage définis dans la norme FORTRAN 66.
1966 : FORTRAN 66 (ANSI X3.9-1966) est la norme développée par l'ANSI, essentiellement basée sur FORTRAN IV. Elle définit en fait deux niveaux du langage : le FORTRAN proprement dit et une version simplifiée, le Basic FORTRAN. Le langage FORTRAN est le premier langage de programmation à avoir été normalisé.
1972 : l'ISO publie l'ISO Recommendation for Fortran (R1539), constituée des deux niveaux du langage définis dans FORTRAN 66 et du niveau intermédiaire défini par l'ECMA FORTRAN. Mais il ne s'agit que d'une recommandation.