Fortran : tout savoir sur le premier langage de programmation

-
6
 m de lecture
-
fortran

Fortran est un langage de programmation informatique très utilisé par les scientifiques. Sa popularité a décliné au fil des années, mais il reste très utilisé par les programmeurs scientifiques. Il est aussi utilisé par les entreprises pour des cas d'usage comme la prévision météo, le trading financier, ou les simulations d'ingénierie.

Les programmes écrits en Fortran peuvent être optimisés pour fonctionner sur des ordinateurs de hautes performances (HPC). On l’utilise pour le benchmarking de programme et le classement des superordinateurs les plus puissants du monde. Ce langage est généralement idéal pour produire du code lorsque les performances sont importantes.

Seule une poignée d’autres langages rivalisent avec les performances de Fortran, dont le C++. Il offre par ailleurs des caractéristiques préférables pour les développeurs par rapport à C++, comme le fait de ne pas avoir à se soucier de l’allocation de mémoire ou de l’optimisation.

Il s’agit d’un langage compilé  » ahead-of-time « , ce qui signifie qu’une étape spéciale de compilation doit être effectuée sur le code écrit avant de pouvoir l’exécuter sur un ordinateur. C’est une différence majeure avec les langages interprétés comme Python et R, qui s’exécutent par le biais d’un interprète exécutant directement les instructions. L’inconvénient est que l’interprète réduit la vitesse de calcul.

langage-de-programmation

L'histoire de Fortran

Créé par Konrad Zuse, Plankalkul est le premier langage de programmation de haut niveau. Toutefois, les idées et les projets de l’inventeur étaient uniquement rédigés sur papier. Le premier vrai langage de programmation est Fortran, créé par John Backus.

Diplômé d’un bachelor de mathématiques de la Columbia University, il inventa ce langage dans les années 1950 alors qu’il travaillait comme programmeur chez IBM. L’objectif était de prendre en charge le Selective Sequence Electronic Calculator : un ordinateur électromécanique regroupant 23 000 relais et 13 000 tubes à vide fabriqué en janvier 1948. C’est notamment avec cet ordinateur que Wallace J.Eckert, directeur du Watson Scientific Computing Laboratory de IBM, a mené à bien les calculs du SSEC qui serviraient 20 ans plus tard dans le programme spatial Apollo.

Toutefois, après l’invention du SSEC, personne ne trouvait de méthode adéquate pour le programmer. Pendant trois ans, John Backus travailla à tenter de programmer la machine.

À la fin de l’année 1953, il présenta à ses supérieurs un concept de langage de programmation pour l’ordinateur mainframe IBM 701. L’idée fut approuvée par IBM, et John Backus se vit confier la responsabilité d’une petite équipe en 1954 au sein du IBM Watson Scientific Laboratory.

Au fil de ses travaux, Backus décida de concevoir un langage de programmation plus rapide et plus simple pour les programmeurs. En 1957, la première version de Fortran fut lancée après trois ans d’efforts. Il regroupait 25 000 lignes de code sur une cassette magnétique incluse avec chaque installation IBM 704. Ce langage fut massivement adopté par les scientifiques et les mathématiciens pour l’écriture de programmes numériquement intensifs.

La seconde version de Fortran vit le jour en 1958, ajoutant les types de données de nombres complexes. Ce langage devint alors adapté pour les applications techniques comme l’ingénierie électrique. La principale amélioration était de permettre les fonctions écrites par l’utilisateur pour améliorer la programmation procédurale.

Moins d’un an plus tard, IBM lança Fortran III avec de nouvelles fonctionnalités. Toutefois, cette version ne fut jamais proposée au public en tant que produit. En 1960, plusieurs versions de Fortran étaient disponibles pour les ordinateurs IBM. La popularité du langage continua de s’accroître, et les constructeurs concurrents commencèrent à proposer des compilateurs pour leurs propres machines. Il en existait déjà plus de 40 en 1963.

ibm-fortran

En 1961, IBM commença à travailler sur Fortran IV pour répondre à la demande du public. Cette version éliminait les fonctionnalités dépendantes de la machine de Fortran II et ajoutait de nouvelles fonctions comme le type de donnée logique. En 1965, Fortran IV devait se conformer aux standards de l’American Standards Assocation. Il était déjà devenu un langage très utilisé dans le domaine de l’éducation.

Malgré l’accueil chaleureux réservé à cette standardisation par la communauté, différentes variantes ont continué à voir le jour. Plusieurs révisions ont été apportées par de nouvelles versions comme Fortran 77.

Encore aujourd’hui, il reste très utilisé par plusieurs communautés scientifiques très utilisées. Toutefois, on le considère souvent comme un langage obsolète et ancestral.

Le standard Fortran le plus récent date de 2018, et a apporté de nouvelles fonctionnalités tout en préservant les hautes performances du langage et sa capacité à relever les défis modernes du calcul scientifique.

Ce langage a évolué au fil du temps. Alors qu’il s’agissait jadis d’un langage de programmation purement procédural, il prend aujourd’hui en charge des caractéristiques orientées objet comme l’extension de type ou le polymorphisme.

Les versions les plus récentes ont apporté de nouveaux concepts comme les déclarations  » block if  » et  » end if « , visant à améliorer la programmation structurée. Beaucoup de ces fonctionnalités se retrouvent sur des langages de programmation modernes comme C++, Java ou Python.

Au fil des 40 dernières années, Fotran a inspiré de nombreux langages de programmation tout en s’inspirant de C et de Basic. Ce langage a aussi influencé l’évolution des techniques de compilation.

À quoi sert Fortan ?

Encore aujourd’hui, Fortran reste très utilisé dans les domaines de recherche nécessitant l’usage de l’informatique scientifique. Parmi les programmes en Fortran les plus célèbres, on peut citer NEMO (Nucleus for European Modelling of the Ocean), le code OFF de dynamique des fluides, ou les modèles du Goddard Institute for Space Studies.

En outre, ce langage reste populaire pour une large variété de programmes de modélisation climatique. Pour cause, les formules mathématiques sont converties en code avec aisance. Les performances sont élevées, et la majeure partie de la communauté de modélisation climatique comprend la syntaxe.

Le TIOBE Inde, qui permet de mesurer la popularité de centaines de langages de programmation, a classé Fortran à la vingtième place du classement des langages les plus populaires en avril 2021. Même s’il a été éclipsé par d’autres langages au fil des dernières décennies, il reste solidement ancré dans le domaine du High-Performance Computing.

Les meilleurs langages de Data Science

data-science-fortran

Pour la Data Science, les différents langages de programmation ne se valent pas. Le C et le C++ sont couramment utilisés pour l’analyse de données haute performance, mais les langages comme Python peuvent permettre de gagner en productivité. Il existe des frameworks et des langages spécifiques pour le traitement Big Data, comme il existe des langages pour la recherche scientifique. Or, Fortran est surpassé par plusieurs langages dans ce domaine précis.

Le langage C

Le langage C est généraliste, et peut être utilisé pour un large spectre d’applications. Pour la Data Science, il présente deux avantages. Il s’agit d’abord d’un langage populaire avec une large base d’utilisateurs, et il s’agit aussi de l’un des plus performants.

En outre, C prend en charge des sources et bibliothèques numériques augmentant ses performances pour les tâches de Data Science. Toutefois, dans ce domaine, Python est nettement supérieur.

Plusieurs langages de programmation s’accompagnent d’un vaste écosystème de bibliothèques et d’outils conçu pour le développement d’applications de Data Science. Les principaux sont Python, R, Julia et Fortran.

Python

Python est le langage de programmation le plus populaire en Data Science. Il s’agit d’un langage originellement conçu pour apprendre la programmation, mais sa simplicité en a fait l’un des plus utilisés pour le développement. C’est le langage offrant le plus grand nombre de bibliothèques pour la Data Science.

Parmi les plus utilisées, on peut citer l’ensemble d’outils SciPy dédié à l’optimisation, à l’intégration, à l’interpolation et à l’algèbre linéaire, NumPy pour les matrices et tableaux multidimensionnels, scikit-learn pour les algorithmes de Machine Learning, ou encore le module Natural Language Toolkit.

python-fortran

Le langage R

R est à la fois un langage de programmation et un environnement textuel et graphique pour le calcul statistique. Il est apparu au début des années 1990, mais a rapidement gagné en fonctionnalité et en popularité. Les programmes peuvent être définis et testés de manière incrémentale, en utilisant ce langage sous forme de batch pour exécuter les programmes de manière interactive.

Comme Python, R regroupe différentes bibliothèques de Data Science. Il existe plus de 11 000 packages disponibles via le Comprehensive R Archive Network. La plupart sont développés en R, mais ils peuvent aussi être développés en C, Java et Fortran. Il existe aussi des environnements spécialisés basés sur R comme Bioconductor, focalisé sur l’analyse de données génomiques.

Le langage Julia

Créé en 2009, Julia est le langage de programmation de Data Science le plus récent. Il se focalise sur les hautes performances, et prend en charge le procédural, orienté-objet ou fonctionnel. Il s’agit d’un langage dynamique permettant le calcul distribué ou parallèle.

Plus de 1700 packages sont actuellement proposés le package manager de Julia. Ils sont écrits en Julia, C et Fortran et couvrent tous les domaines de la Data Science. Ce langage permet aussi l’appel de fonctions Python via le package PyCall, ou l’appel direct de fonctions C.

Comment apprendre la programmation avec Fortan ?

La programmation informatique est très utilisée dans une large variété de domaines scientifiques. Toutefois, Fortran n’est pas le meilleur langage pour la Data Science. Le langage Python se révèle plus adapté et plus performant.

Afin d’apprendre à maîtriser la programmation en Python, vous pouvez choisir DataScientest. Nos différentes formations de Data Analyst, Data Scientist, Data Engineer et Data Management comportent un module dédié à la programmation. Les cursus Data Analyst, Data Scientist et Data Manager couvrent les fondamentaux de Python, et les bibliothèques Numpy et Pandas. Le programme Data Engineer aborde quant à lui Bash, Linux, Python et Python orienté objet.

datascientest-fortran

Les autres modules de ces formations ont pour thème la DataViz, les bases de données, le CI / CD, le Machine Learning ou encore la Business Intelligence. À l’issue de ces parcours, vous aurez toutes les compétences requises pour exercer les métiers de la Data Science.

À la fin du cursus, nos apprenants reçoivent un certificat délivré par MINES ParisTech / PSL Executive Education et l’Université Panthéon Sorbonne dans le cadre de nos partenariats. Nos formations sont reconnues par l’industrie, et 80% de nos alumnis ont trouvé un emploi immédiatement.

Tous nos programmes adoptent une approche Blended Learning, alliant apprentissage en ligne sur plateforme coachée et Masterclass. En fonction de votre situation et de vos préférences, vous pouvez choisir entre une Formation Continue et un mode BootCamp intensif.

Concernant le financement, tous nos cursus sont éligibles au Compte Personnel de Formation. N’attendez plus et découvrez DataScientst !

Vous savez tout sur Fortran. Pour plus d’informations, consultez notre dossier sur le langage Python et notre dossier sur Julia.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?