Ce vieux langage de programmation connaît un regain d’intérêt. Mais son avenir est encore loin d’être assuré

Ce vieux langage de programmation connaît un regain d'intérêt. Mais son avenir est encore loin d'être assuré

Fortran est le plus ancien langage de programmation commercial, conçu chez IBM dans les années 1950. Et même si, pendant des années, les programmeurs ont prédit sa disparition, 64 ans plus tard, il est toujours d’actualité, avec des utilisateurs tels que des scientifiques de haut niveau de la NASA qui l’utilisent sur les superordinateurs les plus puissants du monde.

Récemment, et de manière très inattendue, il est même réapparu dans un classement des langages de programmation les plus populaires, mais à la 20e place. Cette résurgence s’explique par l’énorme besoin de calcul scientifique, un domaine dans lequel Fortran excelle.

Mais rares sont ceux qui diront que le Fortran a un avenir particulièrement radieux. A l’heure actuelle, les scientifiques se ruent en effet vers des langages plus récents tels que Python ou Julia.

publicité

“Je pense que Fortran se trouve aujourd’hui dans une position très difficile”

Ondřej Certik, un scientifique du laboratoire national de Los Alamos (LANL) du ministère américain de l’énergie, s’est donné pour mission de ressusciter Fortran via deux projets clés. Le LANL a joué un rôle clé dans le projet Manhattan de la Seconde Guerre mondiale, qui visait à mettre au point les premières bombes atomiques. Il abrite également le Trinity, basé sur le Cray XC40, le 13e superordinateur le plus rapide du monde.

De nombreux projets de Certik sont écrits en grande partie en Fortran et il essaie de rendre Fortran plus attrayant pour les développeurs. “Lorsque vous mentionnez Fortran, beaucoup de gens disent qu’il n’est pas en train de mourir. Moi, je dirais qu’il est en train de mourir”, explique M. Certik à ZDNet. “Les gens à mon travail s’en éloignent. Nous avons encore des millions de lignes de code en Fortran, donc nous aurons encore du code Fortran dans 20 ans. Mais pour les nouveaux projets, les gens n’utilisent plus Fortran.”

Certik espère pouvoir changer cela. Son premier projet est le compilateur LFortran, qui aidera à traduire le code Fortran dans les langages modernes, notamment Python et Julia. Le second est le site Web fortran-lang qui donnera aux programmeurs Fortran ce que les développeurs Python et Julia ont – un espace pour la communauté afin de collaborer aux améliorations. “Une façon de penser à Julia est qu’ils ont pris Python et l’ont rendu rapide”, dit-il. “Avec LFortran, nous essayons de faire le chemin inverse : prendre un langage rapide comme Fortran et voir comment on peut le rendre interactif.”

Fortran lui-même est toujours développé par deux organismes principaux : le comité américain des normes Fortran, J3, qui est le premier à influencer les normes établies par l’organisme mondial Fortran, WG5. Intel, Nvidia, Arm, IBM, AMD, le DoE, la NASA et d’autres sont représentés au J3.

“Je pense que Fortran se trouve aujourd’hui dans une position très difficile”, déclare Tom Clune, responsable de l’équipe d’intégration logicielle et du Global Modeling and Assimilation Office au Goddard Space Flight Center de la NASA. Clune, qui est le principal représentant de la NASA au comité J3 Fortran, affirme que le langage est bloqué par la question de la prise en charge de nouvelles fonctionnalités qui risquent de casser l’ancien code.

“D’une part, il existe un certain nombre de langages plus récents qui possèdent des fonctionnalités qui semblent être souhaitables pour des problèmes qui étaient traditionnellement le domaine principal de Fortran”, explique-t-il à ZDNet. Cela met la pression sur Fortran pour qu’il développe de nouvelles fonctionnalités dans un court laps de temps.

“D’autre part, le marché actuel a entraîné une diminution du nombre de compilateurs Fortran modernes – une tendance qui est en train de s’inverser – et une baisse des budgets pour les développeurs de compilateurs Fortran”, ajoute-t-il. “Lorsque vous combinez ces éléments avec le désir général de garder Fortran pour être rétrocompatible, quelque chose va céder.”

Fortran a fait l’objet de plusieurs mises à jour majeures depuis 2000, notamment les versions F2003 et F2008, et une autre en 2018. Les deux prochaines mises à jour sont appelées F202X et F202Y, mais elles ne seront pas disponibles avant plusieurs années. Il s’agit d’un exercice d’équilibrisme délicat : si vous vous adaptez aux langages de programmation modernes, vous risquez de casser des choses, ou si vous n’ajoutez pas de nouvelles fonctionnalités, vous risquez de perdre des utilisateurs au profit de langages plus récents.

“Nous, le comité du langage Fortran, pourrions introduire précipitamment des fonctionnalités avancées dans la norme et nous retrouver sans aucune implémentation réelle de ces fonctionnalités”, explique M. Clune. “Nous pourrions aussi faire évoluer le langage de manière plus incrémentielle, ce qui risquerait de faire perdre une grande partie de la base d’utilisateurs qui ne peuvent pas attendre des décennies pour obtenir les fonctionnalités souhaitées. Et il n’y a absolument aucune garantie qu’il existe un juste milieu entre les deux”, admet-il.

Mais il soutient que la survie de Fortran est un avantage pour la communauté scientifique. Les parties essentielles de Fortran peuvent généralement être apprises sur le tas et nécessitent un peu moins de sophistication que des langages tels que C++, note-t-il. Et pour les scientifiques, changer de langage présente le risque énorme d’introduire des changements subtils dans l’analyse qu’ils effectuent.

Au LANL, M. Certik ressent la pression de passer à un langage plus récent que Fortran. Bon nombre des 10 000 scientifiques de l’organisation souhaitent changer de langage, ce qui rend l’adoption du LFortran plus difficile. “Certaines personnes pensent que nous devrions simplement abandonner Fortran”, explique M. Certik. “Et il y en a d’autres qui voient qu’il y a des physiciens qui utilisent Fortran, donc ils vont aimer ça.

“Mais aussi, les personnes qui utilisent déjà Fortran n’apprécient pas nécessairement cette approche de type Python ou Julia”, ajoute-t-il.

“Tant que tout ne fonctionne pas vraiment, ils ne voient pas forcément la vision. Certains disent que c’est un langage en voie de disparition, mais je pense que le potentiel est énorme. Lorsque je parle à des personnes qui utilisent Fortran, elles me disent que la première chose qu’elles veulent, c’est des compilateurs capables de faire tourner leur code sur du matériel moderne, de manière efficace – pas seulement de le faire tourner, mais d’en tirer parti.”

Et M. Clune affirme qu’il existe encore de nouveaux projets Fortran en cours de développement. “Il y a certainement de nouveaux projets écrits en Fortran”, affirme Clune, les petits projets se transformant toujours en grands projets : “Quelqu’un ajoutera de nouvelles fonctionnalités et avant que vous ne vous en rendiez compte, il y aura une autre grande application Fortran sur le marché”, dit-il.

Toutefois, M. Clune admet que cela devient de plus en plus rare. “En particulier, de nombreuses applications scientifiques qui auraient été nées sous la forme de petites applications Fortran sont maintenant lancées sous la forme de petites applications Python”, explique-t-il. Mais Fortran présente toujours des avantages par rapport aux nouveaux langages, affirme-t-il.

“Fortran dispose d’un support intégré exceptionnellement bon pour les calculs numériques et la manipulation des tableaux, ce qui est particulièrement important pour les scientifiques et les ingénieurs”, explique M. Clune. “Python et Java sont généralement perçus comme étant plus lents”.

L’avenir du Fortran ?

Selon M. Clune, les deux fonctionnalités “indispensables” sur lesquelles travaille le comité sont la gestion des exceptions et la programmation générique – des fonctionnalités disponibles dans d’autres langages.

Cependant, la gestion des exécutions a été abandonnée en raison de certains défis majeurs sur la façon d’intégrer les exceptions aux autres fonctionnalités de Fortran, ainsi que de certains désaccords sur des détails spécifiques, selon Clune. Et la prochaine mise à jour de F202Y pourrait ne pas arriver avant la fin de cette décennie – d’ici là, Fortran aura 73 ans.

“Il est difficile de prévoir quand F202Y arrivera réellement. J’espère que ce sera au plus tard en 2030, et que j’aurai l’occasion d’exploiter la programmation générique en Fortran avant de prendre ma retraite. Et, oui, neuf ans, c’est une éternité dans le monde moderne du logiciel”, dit-il.

Fortran a connu un parcours incroyable et a toujours ses admirateurs. Et comme des décennies de code Fortran fonctionnent encore efficacement dans le monde entier, il n’est pas prêt de disparaître. Mais s’il ne parvient pas à rattraper ses nouveaux rivaux, il risque d’avoir du mal à gagner de nouveaux fans ou à conserver ceux qu’il a déjà.

Source : “ZDNet.com”

Leave a Reply

Discover more from Ultimatepocket

Subscribe now to keep reading and get access to the full archive.

Continue reading