Skip to content

Why will the language of Fortran programming be a puissance scientifique? An commentary by Michael Wirth, instructing on the Faculty of Pc Science on the College of Guelph


De lavis de Michael Wirth, enseignant la Faculty of Pc Science de l’Université de Guelph, les gens sont souvent surpris de discoverir quel level Fortran est rpandu dans le monde rel. Par instance, de nombreux modles climatiques ont t crits l’origine et continuent d’tre maintenus en Fortran. Des langages como Julia tentent de le dtrner, mais je pensé que Julia serait un meilleur langage s’il tait associ une norme ISO, critique Wirth.

Fortran est un langage de programming pens dans les annes 50 pour le calcul scientifique. Il proceed tre largement utilis dans le domaine de la recherche scientifique pour le calcul intensif. Contrairement des langages plus volus, le droulement des oprations individuelles en machine stays comparatively controllable in le langage, ce qui permet d’crire des codes comparatively efficaces en termes de calculo. Le Fortran a beaucoup voluces dernires annes avec l’apparition de la norme Fortran 90.

Selon Michael Wirth, l’une des raisons pour lesquelles Fortran fonctionne encore est la longvit. Il est beaucoup plus facile de s’appuyer sur quelque selected qui at dvelopp l’origine en Fortran (qui est rtrocompatible), plutt que de partir de zro. Les gens font toujours croire que c’est facile, mais de nombreux projets de ringnierie ont chou parce qu’on n’avait pas compris le fonctionnement du logiciel d’origine, dclare Wirth.

Le Fortran est aussi exceptionnellement bon pour les mathmatiques, et les modles climatiques ne sont rien d’autre que du traitement de donnes et des mathmatiques.

Je n’aime pas quan les gens essaient d’explicer que “Python serait meilleur”, trigger d’une ide farfelue selon laquelle sa syntaxe est meilleure que celle de Fortran. Bien sir, c’est plus succinct, mais c’est purement pour le bnfice du programmer, pas de la machine, explain-t-il. Et qui peut dire que le typage explicite n’ajoute pas un sure niveau de clart, ce qui es extremement importante dans les applications qui effectuent des calculos.

Fortran Options

  • Calculate excessive efficiency: le langage Fortran at conu ds le dpart pour des purposes de calcul intensif en sciences et ingenierie. Des compilers et des bibliothques matures et proofs vous permettent dcrire quickly un code exploitant au mieux la puissance de votre matriel;
  • Typage static fort : Fortran makes use of a static robust typage, which permits the compiler of the detector immdiatement de nombreuses erreurs de programming. Cela lui allowed galement de gnrer a code binary performant;
  • Simple to be taught and use : le Fortran a vocabulaire comparatively restreint et est tonnamment facile learner et utiliser. Lcriture de la plupart des oprations mathmatiques et arithmiques sur des tableaux de grande taille se fait naturellement, comme sur le papier;
  • multiparadigm : le Fortran permet dcrire du code dans le type qui corresponde le mieux au probleme: impratif, procdural, matriciel, orient objet ou fonctionnel ;
  • parallel : Fortran is a parallel programming langage utilizing an intuitive syntax of kind tableau to speak between processors. Il est posible d’excuter quasiment le mme code que ce soit sur un seoul processor, sur un systme multicurr mmoire partage, sur un systme HPC mmoire distribue, ou un systme de kind cloud. Les ideas de co-tableaux, quipes, vnements et sous-routines collectives permettent dutiliser diffrents modles de programming parallle adaptas au probleme de programmer.

Voici, quelques caractristiques mises en avant par Wirth pour justifier que Fortran est una puissance scientifique.

  • Performances: Fortran is quick, in sure circumstances quicker than C, and the climatic modification, as an awesome a part of scientific data, is a query of vitesse;
  • Parallisme: the efficiency ncessite le parallisme, et Fortran le faisait avant mme que les autres langages ne sachent ce que c’tait;
  • Rutilisation: rtrocompatibilit signifies that present libraries may be simply ruined;
  • Tableaux : Fortran traite les tableaux avec le respect qui leur est d. Il prend en cost les tableaux multidimensionnels, le dcoupage, la rduction, le remodelage et de nombres makes use of optimizations pour les calculos bass sur les tableaux, como la vectorisation;
  • Longvit: les modles climatiques et autres ne peuvent pas tres mis en uvre dans des langages qui ne sont pas (i) rtrocompatibles et (ii) en constante volution. Si vous crivez du code en Fortran aujourd’hui, il est possible qu’il functionnera encore dans 20 ou 30 ans ;
  • Effort : savez-vous combien d’efforts il faudrait fournir pour rorganiser un modle ? Les nouveaux langages posent probleme;
  • MPI : the message passing interface (MPI) is the passerelle vers le calculus haute efficiency, et Fortran la gre trs bien.

Fortran at conu pour le calcul scientifique. Bien sr Fortran est vieux, mais Unix aussi, et C aussi. Ce n’est pas parce que des langages como Julia sont plus rcents qu’ils sont meilleurs. All of the world thinks that C++ shall be a form of sauveur du codage, et regardez remark cela a tourn. Les gens pensent parfois que si quelque selected est crit dans un langage comme R, alors c’est du pur R… mais ne comprennent pas que R lui-mme n’est pas du pur R. R est lui-mme compos de Code composed of R, C, and Fortran.

Supply : Michael Wirt’s Weblog

Et you?

Partagez-vous lavis de Michael Wirt au sujet du langage Fortran ?

Have you ever dj used the language? What are your forces, what are your faiblesses?

Compar au langage Julia, lequel prfrez-vous

See additionally:

The model 1.6 of the Julia language is out there, it gives a discount of the latency of compilers and suppresses ineffective recompilations

Go 1.16 is out there and helps the prize in command of the ARM 64-bit structure on macOS, even when the combination of the statistical information and the arborescences of information within the ultimate excutable

C++ vs Rust : a sensible comparability of the compilation instrument and take a look at of the 2 programming languages, by Matthew Glazar, software program engineer

Leave a Reply

Your email address will not be published. Required fields are marked *