Fortran, abréviation de "Formula Translation", est un langage de programmation de haut niveau particulièrement adapté aux applications scientifiques et d'ingénierie. C'était l'un des premiers langages de programmation développés pour les ordinateurs électroniques et a considérablement évolué depuis sa création. Fortran permet une manipulation efficace des données de tableau et prend en charge des calculs mathématiques complexes, ce qui en fait un langage de choix pour la prévision numérique du temps, la physique computationnelle et la bioinformatique, entre autres domaines.
Fortran a été développé dans les années 1950 par IBM en tant que langage conçu pour le calcul numérique et l'informatique scientifique. La première version, Fortran I, a été publiée en 1957. L'idée principale était de créer un langage qui permettrait aux scientifiques et aux ingénieurs d'écrire des programmes sans avoir besoin de connaître les subtilités du matériel sous-jacent.
Des versions ultérieures de Fortran ont été introduites, chacune ajoutant de nouvelles fonctionnalités et améliorant l'utilisabilité. Fortran II a suivi peu après, ajoutant des fonctionnalités de programmation structurée. En 1966, Fortran IV a été introduit, devenant une norme de l'industrie. Fortran 77 (publié en 1978) a ajouté des fonctionnalités telles que les types de données caractères et des capacités d'entrée/sortie améliorées.
À partir de 1991, Fortran 90 a introduit la programmation de tableaux, la programmation modulaire, la récursion et l'allocation dynamique de mémoire. Fortran 2003 et Fortran 2008 ont encore amélioré le langage avec des fonctionnalités telles que la programmation orientée objet et une meilleure interopérabilité avec le langage de programmation C. La norme la plus récente, Fortran 2018, a apporté d'autres améliorations, y compris une compatibilité et une fonctionnalité accrues pour le traitement parallèle.
Fortran est toujours utilisé activement dans de nombreuses disciplines scientifiques et d'ingénierie, soutenu par des compilateurs modernes comme GNU Fortran (gfortran) et Intel Fortran Compiler. Il possède un vaste code hérité, et de nombreuses bibliothèques scientifiques sont écrites en Fortran, ce qui en fait un langage critique dans certains domaines.
Fortran est un langage à typage fort qui nécessite une déclaration explicite des types de variables. Par exemple :
INTEGER :: i
REAL :: x
CHARACTER(len=10) :: name
Fortran excelle dans la gestion des tableaux, permettant des opérations sur des tableaux entiers avec une syntaxe simple.
REAL, DIMENSION(10) :: A
A = 2.0 * A ! Multiplie chaque élément du tableau A par 2
Fortran fournit des structures de contrôle conventionnelles comme les boucles et les instructions conditionnelles.
DO i = 1, 10
IF (A(i) > 0) THEN
PRINT *, 'Positif'
END IF
END DO
Fortran permet la définition de fonctions et de sous-programmes pour la programmation modulaire.
FUNCTION square(x)
REAL :: square
REAL, INTENT(IN) :: x
square = x * x
END FUNCTION square
Par défaut, Fortran a une règle selon laquelle les variables dont les noms commencent par "I", "J", "K", "L", "M" ou "N" sont implicitement de type INTEGER. Cela peut être contourné pour plus de clarté.
IMPLICIT NONE ! Désactive le typage implicite
INTEGER :: I
REAL :: R
Fortran prend en charge les boucles do-while pour une exécution répétée basée sur une condition.
i = 1
DO WHILE (i <= 10)
PRINT *, i
i = i + 1
END DO
Fortran dispose de types puissants définis par l'utilisateur, appelés types dérivés, qui permettent des définitions de données semblables à des structures.
TYPE :: Person
CHARACTER(len=20) :: name
INTEGER :: age
END TYPE Person
TYPE(Person) :: p1
Fortran prend en charge les modules pour encapsuler des données et des procédures, favorisant la réutilisation et l'organisation du code.
MODULE myModule
CONTAINS
SUBROUTINE mySubroutine()
! Implémentation
END SUBROUTINE
END MODULE
Fortran prend en charge les pointeurs qui facilitent la gestion dynamique de la mémoire, similaire à des langages comme C.
REAL, POINTER :: pA
ALLOCATE(pA(10)) ! Alloue dynamiquement un tableau
Fortran dispose de fonctionnalités créant une interopérabilité avec C, permettant la programmation en langages mixtes.
INTERFACE
FUNCTION c_function(x) BIND(C, NAME="c_function")
INTEGER(C_INT) :: c_function(INTEGER)
END FUNCTION c_function
END INTERFACE
Les compilateurs Fortran les plus populaires incluent :
Bien que Fortran ne soit pas aussi couramment associé aux IDE modernes que certains autres langages, plusieurs IDE le prennent en charge :
La construction d'un projet Fortran implique généralement la création de fichiers source avec une extension .f, .f90 ou .f95 et leur compilation à l'aide d'un compilateur Fortran. Une commande typique pourrait ressembler à :
gfortran -o my_program my_source.f90
Fortran est largement utilisé dans le calcul scientifique, la prévision numérique du temps, la modélisation climatique, la physique computationnelle, la chimie computationnelle et la bioinformatique. Il est particulièrement connu pour ses performances dans les calculs numériques lourds et les simulations.
Les principaux concurrents de Fortran dans le domaine de la programmation scientifique et d'ingénierie incluent :
Fortran dispose de plusieurs outils de traduction source-à-source qui peuvent aider les développeurs à convertir du code hérité vers des langages plus contemporains ou à optimiser le code existant. Certains outils incluent :
Ces outils facilitent la transition des anciennes versions de Fortran ou de paradigmes de programmation entièrement différents tout en aidant à maintenir la performance et la fonctionnalité.