tag:linuxfr.org,2005:/tags/fortran/publicLinuxFr.org : les contenus étiquetés avec « fortran »2024-03-15T16:10:25+01:00/favicon.pngtag:linuxfr.org,2005:Bookmark/80432024-03-14T15:22:27+01:002024-03-14T15:22:27+01:00ForColormap 0.9 est sorti<a href="https://framalibre.org/notices/forcolormap.html">https://framalibre.org/notices/forcolormap.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/135121/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/liens/forcolormap-0-9-est-sorti#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/135121/comments.atomtag:linuxfr.org,2005:Bookmark/78852024-02-02T16:40:58+01:002024-02-02T16:40:58+01:00Fortran: Array Language (5'41", dans la série State of Array Languages in 2024)<a href="https://youtu.be/vdaps6Z0kJY?si=h0Byy6hO09CJVgoY">https://youtu.be/vdaps6Z0kJY?si=h0Byy6hO09CJVgoY</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134804/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/liens/fortran-array-language-5-41-dans-la-serie-state-of-array-languages-in-2024#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/134804/comments.atomtag:linuxfr.org,2005:Bookmark/77072023-12-27T23:44:10+01:002023-12-27T23:44:10+01:00SciPy pour Python 3.12 sous Windows: un petit miracle<a href="https://labs.quansight.org/blog/building-scipy-with-flang">https://labs.quansight.org/blog/building-scipy-with-flang</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134342/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/pulkomandy/liens/scipy-pour-python-3-12-sous-windows-un-petit-miracle#comments">ouvrir dans le navigateur</a>
</p>
pulkomandyhttps://linuxfr.org/nodes/134342/comments.atomtag:linuxfr.org,2005:News/417732023-12-01T16:07:32+01:002023-12-02T11:00:52+01:00Des nouvelles de Fortran n°5 - Décembre 2023Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Fortran joue aux échecs avec la Mort depuis des décennies (j’aurais aussi pu me référer au film <a href="https://fr.wikipedia.org/wiki/Le_Viager">Le Viager</a> avec Michel Serrault :-)). Ces trois dernières années, il a été présent 23 mois dans le Top 20 de l’indice TIOBE, atteignant même la 11<sup>e</sup> place en juillet et septembre 2023. Simple bruit dans un classement controversé ou regain d’activité d’une communauté habituellement trop discrète, à vous de juger. Voyons ce qu’il s’est passé dans le monde du Fortran depuis notre <a href="//linuxfr.org/news/des-nouvelles-de-fortran-n-4-octobre-2022">dépêche n°4</a> d’octobre 2022.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://j3-fortran.org/doc/year/23/23-007r1.pdf" hreflang="en" href="https://linuxfr.org/redirect/113013">Norme Fortran 2023 (document d'interprétation du comité J3)</a></li><li>lien nᵒ 2 : <a title="https://fortran.bcs.org/2022/AGM22_Reid.pdf" hreflang="en" href="https://linuxfr.org/redirect/113014">The new features of Fortran 2023 (exposé de John Reid)</a></li><li>lien nᵒ 3 : <a title="https://fortran-lang.org/fr/" hreflang="fr" href="https://linuxfr.org/redirect/113015">Fortran-lang.org</a></li><li>lien nᵒ 4 : <a title="https://fpm.fortran-lang.org/fr/index.html" hreflang="fr" href="https://linuxfr.org/redirect/113016">fpm (Fortran Package Manager)</a></li><li>lien nᵒ 5 : <a title="https://www.tiobe.com/tiobe-index/" hreflang="en" href="https://linuxfr.org/redirect/113017">Indice TIOBE</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-fortran-2023">Fortran 2023</a></li>
<li><a href="#toc-le-3-d%C3%A9cembre-jour-dionysiaque">Le 3 décembre, jour dionysiaque</a></li>
<li>
<a href="#toc-sur-le-front-des-compilateurs">Sur le front des compilateurs</a><ul>
<li><a href="#toc-avis-de-d%C3%A9c%C3%A8s">Avis de décès</a></li>
<li><a href="#toc-parmi-les-compilateurs-op%C3%A9rationnels">Parmi les compilateurs opérationnels</a></li>
<li><a href="#toc-en-gestation">En gestation</a></li>
</ul>
</li>
<li>
<a href="#toc-communaut%C3%A9-fortran-lang">Communauté Fortran-lang</a><ul>
<li><a href="#toc-m%C3%A9dias">Médias</a></li>
<li><a href="#toc-financement">Financement</a></li>
<li><a href="#toc-projets">Projets</a></li>
</ul>
</li>
<li><a href="#toc-autres-projets">Autres projets</a></li>
<li><a href="#toc-le-mot-de-la-fin--lantique-oracle">Le mot de la fin : l’antique oracle</a></li>
</ul>
<h2 id="toc-fortran-2023">Fortran 2023</h2>
<p>La norme <a href="https://www.iso.org/standard/82170.html">ISO/IEC 1539-1:2023</a> a été publiée le 17 novembre. Le document de John Reid <a href="https://wg5-fortran.org/N2201-N2250/N2212.pdf">The new features of Fortran 2023</a> résume ses apports. La version officielle de cette norme ISO est payante, mais le comité de normalisation met toujours à disposition le PDF de son « document d’interprétation », très proche de la version finale de la norme. Reste bien sûr à attendre que les compilateurs intègrent progressivement ces nouveautés. Le compilateur Intel inclut entre autres déjà le mécanisme de réduction ajouté aux boucles parallélisables <code>do concurrent</code> ainsi que les fonctions trigonométriques fonctionnant en degrés.</p>
<p>La 6<sup>e</sup> édition du Metcalf, prévue pour le 7 décembre, comporte deux nouveaux chapitres sur cette norme (et une couverture orange) :</p>
<ul>
<li>Mr Michael Metcalf, John Reid, Mr Malcolm Cohen, et Reinhold Bader. <em><a href="https://global.oup.com/academic/product/modern-fortran-explained-9780198876588?q=modern%20Fortran&lang=en&cc=kr#">Modern Fortran Explained: Incorporating Fortran 2023.</a></em> 6<sup>e</sup> édition. Oxford, New York: Oxford University Press, 2023. ISBN : 9780198876588</li>
</ul>
<h2 id="toc-le-3-décembre-jour-dionysiaque">Le 3 décembre, jour dionysiaque</h2>
<p>Cette quatrième norme du XXI<sup>e</sup> siècle est sortie à peu de choses près 70 ans après que <a href="https://fr.wikipedia.org/wiki/John_Backus">John Backus</a> (1924-2007) a proposé à son supérieur de créer un langage de calcul simple et rapide avec son compilateur optimiseur, pour s’affranchir du langage machine. La date exacte est inconnue, lui-même ne s’en souvenait pas, mais son anniversaire étant le 3 décembre, célébrons à la fois les 99 ans du père du langage et les 70 ans du lancement du projet FORTRAN !</p>
<blockquote>
<p>Ce facteur économique a été l’une des principales motivations qui m’ont amené à proposer le projet Fortran dans une lettre adressée à mon supérieur, Cuthbert Hurd, à la fin de 1953 (la date exacte n’est pas connue, mais d’autres faits suggèrent que décembre 1953 est une date probable). Je pense que la nécessité économique d’un système comme Fortran est l’une des raisons pour lesquelles IBM et mes supérieurs successifs, Hurd, Charles DeCarlo et John McPherson, ont répondu à nos besoins en constante augmentation au cours des cinq années suivantes sans jamais nous demander de projeter ou de justifier ces besoins dans un budget formel.<br>
<em>(Traduction DeepL pour l’essentiel)</em></p>
<p>Backus, J. « The history of Fortran I, II, and III ». <em>IEEE Annals of the History of Computing</em> 20, nᵒ 4 (décembre 1998): 68‑78. <a href="https://doi.org/10.1109/85.728232">https://doi.org/10.1109/85.728232</a>.</p>
</blockquote>
<h2 id="toc-sur-le-front-des-compilateurs">Sur le front des compilateurs</h2>
<h3 id="toc-avis-de-décès">Avis de décès</h3>
<p>Deux compilateurs Fortran ont disparu : le <a href="https://en.wikipedia.org/wiki/Absoft_Fortran_Compilers">Absoft</a> en septembre 2022, puis le Lahey en décembre. Inutile de chercher le site web de ces entreprises quadra ou quinquagénaires, tout a disparu. À ma connaissance, les codes source de ces compilateurs propriétaires n’ont pas été libérés… Ces disparitions pourraient être une conséquence de la mise à disposition gratuite des compilateurs Intel depuis décembre 2020.</p>
<h3 id="toc-parmi-les-compilateurs-opérationnels">Parmi les compilateurs opérationnels</h3>
<p>En décembre 2022, après <a href="https://community.intel.com/t5/Blogs/Tech-Innovation/Tools/The-Next-Chapter-for-the-Intel-Fortran-Compiler/post/1439297">cinq ans d’efforts</a>, le compilateur Intel ifx basé sur LLVM a atteint la parité avec son prédécesseur ifort, en implémentant intégralement la norme Fortran 2018. La version actuelle est la 2024.0. Intel a annoncé qu’ifort ne sera en conséquence <a href="https://www.intel.com/content/www/us/en/docs/fortran-compiler/get-started-guide/2024-0/overview.html">plus maintenu</a> à partir d’octobre 2024, y compris pour les macOS>13. Pas de chance pour les fans du mac, Intel ne <a href="https://community.intel.com/t5/Blogs/Tech-Innovation/Tools/Deprecation-of-Intel-Fortran-Compiler-Classic-for-macOS/post/1472697">prévoit pas</a> de leur fournir ifx… À noter également qu’ifx ne gérera pas les architectures 32 bits.</p>
<p>GFortran, compilateur Fortran de la GCC, en est à la version 13.2. La page <a href="https://fortranwiki.org/fortran/show/GFortran">GFortran du Fortran Wiki</a> a été entièrement mise à jour. Elle présente en particulier des informations pour les personnes qui voudraient contribuer au développement du compilateur. </p>
<h3 id="toc-en-gestation">En gestation</h3>
<p>Il faut compter au minimum cinq ans de travail pour écrire un nouveau compilateur Fortran (la dernière norme fait 674 pages). Le développement du nouveau Flang pour LLVM, soutenu en particulier par NVIDIA, continue. Le <a href="https://j3-fortran.org/doc/year/23/23-224r1.txt">rapport de liaison</a> présenté au J3 en octobre indique qu’il peut « compiler et exécuter correctement des programmes Fortran 77 (passe la suite de tests FCVS), la quasi-totalité des programmes Fortran 95 et de nombreux programmes qui utilisent les fonctionnalités modernes de Fortran 2003+. »</p>
<p>Quant au compilateur <a href="https://lfortran.org/">LFortran</a>, Il a été décidé qu’il passerait en version bêta quand il serait capable de compiler dix bibliothèques Fortran matures. Il en est pour l’instant à 4/10 : il peut compiler par exemple MINPACK, une bibliothèque permettant de résoudre des équations non linéaires et des problèmes de moindres carrés non linéaires.</p>
<h2 id="toc-communauté-fortran-lang">Communauté Fortran-lang</h2>
<p>La communauté Fortran-lang poursuit sa croissance avec plus de 1300 utilisateurs inscrits sur son Fortran Discourse depuis le 5 mai 2020. La dépêche d’octobre 2022 parlait de « plus de 850 utilisateurs inscrits ». Vous en croiserez sûrement un certain nombre à l'<a href="https://adventofcode.com/2023">Advent of Code 2023</a>, du 1<sup>er</sup> au 25 décembre !</p>
<h3 id="toc-médias">Médias</h3>
<p>Un article en français qui résume l’histoire du langage, les apports des normes successives, les projets de la communauté, vient d’être publié dans le <em>Bulletin 1024</em> de la Société Informatique de France :</p>
<ul>
<li>Vincent Magnin, José Alves, Antoine Arnoud, Arjen Markus, Michele Esposito Marzino, <a href="https://doi.org/10.48556/SIF.1024.22.143">« Fortran… et puis quoi encore ? »</a>, <em>Bulletin 1024,</em> n°22, p. 143–161, novembre 2023, DOI:10.48556/SIF.1024.22.143, licence CC BY-NC-ND 4.0.</li>
</ul>
<p>Il est en cours de traduction dans la langue de Shakespeare (ou plutôt Backus).</p>
<p>Le podcast <em>Code for Thought</em> du 5 septembre 2023 est intitulé <a href="https://codeforthought.buzzsprout.com/1326658/13456135">« Hello Fortran! »</a> Quatre développeurs sont interrogés pendant les 40 minutes de l’émission : Thomas Clune (NASA, US), Wim Vanderbauwhede (Uni. Glasgow, UK), Milan Curcic (Uni. of Miami, US) et Ondrej Certik (GSI Technologies, US). Les deux derniers sont les fondateurs de Fortran-lang.</p>
<h3 id="toc-financement">Financement</h3>
<p>Fin 2022, l’organisme allemand <a href="https://sovereigntechfund.de/en/projects/fortran/">Sovereign Tech Fund</a> du ministère fédéral de l’économie et du climat a accordé l’équivalent de trois temps pleins pour travailler six mois sur le projet d’un dépôt centralisé pour le gestionnaire de paquets fpm, ainsi que sur le compilateur LFortran.</p>
<p>La candidature de Fortran à l’organisation américaine à but non lucratif <a href="https://numfocus.org/">NumFOCUS</a> a été acceptée. NumFOCUS est une organisation caritative publique 501(c)(3) aux États-Unis qui promeut les pratiques ouvertes dans la recherche, les données et le calcul scientifique en sponsorisant les projets open source et en organisant des programmes éducatifs. </p>
<p>Enfin, trois étudiants ont participé au <a href="https://summerofcode.withgoogle.com/programs/2023/organizations/fortran-lang">Google Summer of Code 2023</a> :</p>
<ul>
<li>amélioration de LFortran pour aller vers une compilation de SciPy,</li>
<li>optimisation dans le projet <a href="https://github.com/modern-fortran/neural-fortran">neural-fortran</a>, un cadriciel de <em>deep learning</em>,</li>
<li>développement de <a href="https://github.com/fortran-lang/http-client">http-client</a>, une bibliothèque fpm permettant d’effectuer des requêtes HTTP avec une API conviviale. Elle dépend des bibliothèques stdlib et fortran-curl.</li>
</ul>
<h3 id="toc-projets">Projets</h3>
<p>Le tutoriel <em>Python Fortran Rosetta Stone</em> publié par Ondřej Čertík en 2012 sur le site <a href="https://www.fortran90.org/">https://www.fortran90.org/</a> a été importé et révisé sur Fortran-lang : <a href="https://fortran-lang.org/fr/learn/rosetta_stone/">https://fortran-lang.org/fr/learn/rosetta_stone/</a><br>
Comme son nom l’indique, il donne les correspondances entre syntaxes Python et Fortran, en particulier pour le calcul scientifique.</p>
<p>Le gestionnaire de paquets Fortran et système de construction fpm est disponible en version 0.9 depuis juin 2023. Il est même désormais disponible sur <a href="https://pypi.org/project/fpm/">PyPi</a>. Il peut être également utilisé pour compiler des projets C et C++. Il peut gérer des dépôts de paquets locaux ou distants, l’objectif étant à terme de créer un dépôt officiel. Enfin, l'<a href="https://www.openmp.org/blog/fortran-package-manager-and-openmp/">intégration avec OpenMP</a> permet non seulement de compiler de façon parallèle un projet mais également de gérer des projets utilisant OpenMP.</p>
<p>La bibliothèque standard <a href="https://github.com/fortran-lang/stdlib/releases/tag/v0.3.0">stdlib</a> est sortie en version 0.3 au mois d’août et peut désormais être utilisée comme une dépendance fpm.</p>
<h2 id="toc-autres-projets">Autres projets</h2>
<p><a href="https://fortls.fortran-lang.org/">FortLS</a>, une implémentation du <em>Language Server Protocol (LSP)</em> pour Fortran, est disponible en version v3.0.0rc1. Parmi les éditeurs de code pris en charge, on peut citer Visual Studio Code, Atom, Sublime Text, (Neo)Vim, et Emacs.</p>
<p>La communauté Fortran explore les modèles de langage, avec par exemple le projet <a href="https://ondrejcertik.com/blog/2023/03/fastgpt-faster-than-pytorch-in-300-lines-of-fortran/">fastGPT</a> qui est un modèle GPT-2 : « L’utilisation d’un langage comme Fortran, orienté vers les calculs de tableaux les plus rapides possibles, permet d’écrire un code très performant, mais toujours lisible ». Il y a également un modèle de langage <a href="https://github.com/rbitr/llm.f90">LLaMA2</a>. Et le projet <a href="https://github.com/gha3mi/foropenai">ForOpenAI</a> permet d’accéder à l’API de ChatGPT.</p>
<p>Le travail de modernisation des bibliothèques FORTRAN se poursuit, avec par exemple <a href="https://github.com/perazz/fitpack">FITPACK</a> pour l’ajustement de courbes et de surfaces, désormais traduit en Fortran moderne et disponible sous forme de paquet fpm.</p>
<p>Le générateur <a href="https://github.com/Fortran-FOSS-Programmers/ford/releases/">FORD (FORtran Documentation)</a> est disponible en version 7.0.</p>
<p>La communauté fait feu de tout bois et tenir à jour la <a href="https://github.com/Beliavsky/Fortran-code-on-GitHub/blob/main/README.md">liste</a> des codes Fortran disponibles sur GitHub est un travail de fond. Mais citons encore quelques projets récents :</p>
<ul>
<li>
<a href="https://github.com/perazz/fortran-regex">Fortran-regex</a> est un port de la bibliothèque tiny-regex-c pour les expressions régulières.</li>
<li>Dans le domaine du <em>retrocomputing,</em> <a href="https://github.com/ivan-pi/fc8">fc8</a> est un interpréteur <a href="https://fr.wikipedia.org/wiki/CHIP-8">CHIP-8</a> (un langage des années 70 pour faciliter l’écriture de jeux vidéo 8 bits).</li>
<li>
<a href="https://github.com/vmagnin/forcolormap">ForColormap</a> est une bibliothèque pour gérer les « cartes thermiques » pour la visualisation scientifique.</li>
<li>
<a href="https://github.com/jalvesz/FSPARSE/">FSparse</a> offre une API orientée objet pour les matrices creuses.</li>
<li>
<a href="https://github.com/jacobwilliams/rklib">rklib</a> est une nouvelle bibliothèque Runge-Kutta pour les équations différentielles du premier ordre.</li>
<li>
<a href="https://github.com/FluidNumerics/feq-parse">feq-parse</a> permet d’évaluer une fonction mathématique stockée dans une chaîne de caractères.</li>
</ul>
<h2 id="toc-le-mot-de-la-fin--lantique-oracle">Le mot de la fin : l’antique oracle</h2>
<p>Dans <a href="https://archive.computerhistory.org/resources/access/text/2013/05/102657970-05-01-acc.pdf">un de ses derniers entretiens</a> en 2006 pour le <em>Computer History Museum</em> (voir la <a href="https://www.youtube.com/watch?v=dDsWTyLEgbk">vidéo</a>), Backus répond :</p>
<blockquote>
<p>Interviewer : « Le monde est-il meilleur grâce à tous les logiciels qui ont été écrits au cours de votre vie, ou non ? »</p>
<p>Backus : « Eh bien, en termes humains, probablement pas. Parce que cela nous éloigne de plus en plus des affaires humaines. Mais pour ce qui est de l’économie et du bien-être, ça a fait beaucoup de bien. C’est donc un bilan mitigé.<br>
[…]<br>
Mais je ne vous envie pas, j’en ai peur. Je pense que nous devenons de plus en plus technologiques et de moins en moins orientés vers l'humain. »</p>
<p><em>(Traduction en français basée sur DeepL)</em></p>
</blockquote>
<p>Ou si vous préférez l’original :</p>
<blockquote>
<p><em>Interviewer: “Is the world a better place because of all the software that’s been written in your lifetime, or not?”</em></p>
<p><em>Backus: “Well, in human terms, probably not. Because it just takes us further and further away from human affairs. But as far as economic, and welfare, it’s done a lot of good. So it’s a mixed bag. […] But I don’t envy you, I’m afraid. I think that we’re getting more and more technological and less and less human oriented.”</em></p>
</blockquote>
</div><div><a href="https://linuxfr.org/news/des-nouvelles-de-fortran-n-5-decembre-2023.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134015/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/des-nouvelles-de-fortran-n-5-decembre-2023#comments">ouvrir dans le navigateur</a>
</p>
vmagninBenoît SibaudYsabeau 🧶 🧦https://linuxfr.org/nodes/134015/comments.atomtag:linuxfr.org,2005:Bookmark/75582023-11-26T10:57:37+01:002023-11-26T10:57:37+01:00Fin de vie pour le compilateur ifort<a href="https://community.intel.com/t5/Blogs/Tech-Innovation/Tools/Deprecation-of-The-Intel-Fortran-Compiler-Classic-ifort/post/1541699?profile.language=fr">https://community.intel.com/t5/Blogs/Tech-Innovation/Tools/Deprecation-of-The-Intel-Fortran-Compiler-Classic-ifort/post/1541699?profile.language=fr</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134010/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/e3ms6vyx/liens/fin-de-vie-pour-le-compilateur-ifort#comments">ouvrir dans le navigateur</a>
</p>
E3Ms6vyXhttps://linuxfr.org/nodes/134010/comments.atomtag:linuxfr.org,2005:Bookmark/75242023-11-18T14:01:21+01:002023-11-18T14:01:21+01:00La norme Fortran 2023 vient d'être publiée par l'ISO<a href="https://www.iso.org/standard/82170.html">https://www.iso.org/standard/82170.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133941/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/liens/la-norme-fortran-2023-vient-d-etre-publiee-par-l-iso#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/133941/comments.atomtag:linuxfr.org,2005:Bookmark/74792023-11-09T17:58:06+01:002023-11-09T17:58:06+01:00SciPy builds for Python 3.12 on Windows are a minor miracle<a href="https://labs.quansight.org/blog/building-scipy-with-flang">https://labs.quansight.org/blog/building-scipy-with-flang</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133866/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/gilcot/liens/scipy-builds-for-python-3-12-on-windows-are-a-minor-miracle#comments">ouvrir dans le navigateur</a>
</p>
Gil Cot ✔https://linuxfr.org/nodes/133866/comments.atomtag:linuxfr.org,2005:Bookmark/73712023-10-20T09:59:07+02:002023-10-20T09:59:07+02:00Fortran Package Manager and OpenMP<a href="https://www.openmp.org/blog/fortran-package-manager-and-openmp/">https://www.openmp.org/blog/fortran-package-manager-and-openmp/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133690/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/liens/fortran-package-manager-and-openmp#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/133690/comments.atomtag:linuxfr.org,2005:Bookmark/70802023-09-05T21:08:28+02:002023-09-05T21:08:28+02:00Code for Thought [EN] Hello Fortran! <a href="https://codeforthought.buzzsprout.com/1326658/13456135">https://codeforthought.buzzsprout.com/1326658/13456135</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133200/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/liens/code-for-thought-en-hello-fortran#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/133200/comments.atomtag:linuxfr.org,2005:Bookmark/67852023-07-09T22:23:56+02:002023-07-09T22:23:56+02:00Dans le TIOBE Index de juillet, Fortran est n°11 et COBOL n°20 : le Jurassique est de retour !<a href="https://www.tiobe.com/tiobe-index/">https://www.tiobe.com/tiobe-index/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/132658/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/liens/dans-le-tiobe-index-de-juillet-fortran-est-n-11-et-cobol-n-20-le-jurassique-est-de-retour#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/132658/comments.atomtag:linuxfr.org,2005:Diary/406782023-05-02T14:56:29+02:002023-05-02T14:56:29+02:00Sortie de gtk-fortran 4.4Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p><a href="https://github.com/vmagnin/gtk-fortran/wiki">gtk-fortran</a> 4.4 offre des interfaces Fortran à GTK 4.10 et GLib 2.76. Elle a été testée sous Linux Ubuntu (avec les compilateurs GFortran et Intel ifx), Fedora, Debian 32 bits, MSYS2/Windows 10, macOS et FreeBSD. Le CHANGELOG complet est consultable <a href="https://github.com/vmagnin/gtk-fortran/blob/gtk4/CHANGELOG.md">ici</a>.</p>
<p>On compte 90 <em>commits</em> depuis la version 4.3.0, dont la moitié concernant le programme Python <code>cfwrapper</code> qui génère les interfaces Fortran. Le code a été amélioré et refactorisé à plusieurs endroits avec pour objectif principal de faciliter la maintenance sur le long terme. D'autres scripts shell ont été améliorés ou ajoutés pour faciliter les tests, ainsi que des fichiers CSV. Autre objectif, des options ont été ajoutées pour faciliter l'utilisation du <code>cfwrapper</code> avec d'autres librairies C (voir <a href="https://github.com/vmagnin/gtk-fortran/wiki/How-to-hack-the-cfwrapper">https://github.com/vmagnin/gtk-fortran/wiki/How-to-hack-the-cfwrapper</a>).</p>
<p>L'exemple <code>cairo-tests.f90</code>, l'un des premiers écrits en 2011, avait pour objectif de montrer que l'on peut faire du dessin vectoriel avec la librairie Cairo par-dessus une image bitmap créée avec la librairie GdkPixbuf, mais il était resté jusqu'à maintenant dans un état brut. Il a été mis à jour d'une façon plus intéressante : l'ensemble de Mandelbrot prend désormais toute la fenêtre et la librairie Cairo est utilisée pour tracer les axes, le cercle de centre (-1, 0) et de rayon 1/4, la cardioïde de centre A(1/4, 0) et d'équation polaire <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iLTM1IC03MDcuMjc3NDg5MDAyNTQxIDk1MDkuNDQ0NDQ0%0ANDQ0NDQ1IDk0MS41NTQ5NzgwMDUwODE4IiBzdHlsZT0id2lkdGg6IDIyLjA0%0AOGV4OyBoZWlnaHQ6IDIuMTY5ZXg7IHZlcnRpY2FsLWFsaWduOiAtMC42MDJl%0AeDsgbWFyZ2luOiAxcHggMHB4OyBwb3NpdGlvbjogc3RhdGljOyIgeG1sbnM9%0AImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcyBpZD0iTWF0aEph%0AeF9TVkdfZ2x5cGhzIj48cGF0aCBpZD0iU1RJWFdFQk1BSU5JLTNDMSIgc3Ry%0Ab2tlLXdpZHRoPSIxMCIgZD0iTS05IC0xMzVsNzUgMjg2YzQ2IDE3NyAxNDYg%0AMjkwIDI1MyAyOTBjNTMgMCAxNTIgMCAxNTIgLTEzN2MwIC0xNTQgLTE1NiAt%0AMzE1IC0yOTggLTMxNWMtMjMgMCAtNDUgNCAtNjggMTdsLTM2IC0xNDFjLTYg%0ALTI0IC0xNiAtNDkgLTMxIC03MGgtNzhjMTQgMjEgMjQgNDQgMzEgNzB6TTM4%0AMiAzMTJjMCA1OSAtMjMgMTA4IC02NiAxMDhjLTU2IDAgLTEyMSAtNzQgLTE1%0AMSAtMTgxYy0xOCAtNjUgLTQ2IC0xNjkgLTQ2IC0xOTQgYzAgLTIxIDIxIC0z%0ANyA0OSAtMzdjMTMzIDIgMjE0IDE4NiAyMTQgMzA0WiI+PC9wYXRoPjxwYXRo%0AIGlkPSJTVElYV0VCTUFJTi0yOCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTMw%0ANCAtMTYxbC0xMiAtMTZjLTE1OCA5MCAtMjQ0IDI1OSAtMjQ0IDQyOWMwIDE4%0ANSA4NyAzMjkgMjQ3IDQyNGw5IC0xNmMtMTM5IC0xMTkgLTE3MCAtMjEyIC0x%0ANzAgLTQwNWMwIC0xODYgMzAgLTI5OSAxNzAgLTQxNloiPjwvcGF0aD48cGF0%0AaCBpZD0iU1RJWFdFQk1BSU5JLTNCOCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0i%0ATTQ5NCA1MTFjMCAtMTYyIC02MCAtMzA2IC0xMzQgLTQwNWMtNjUgLTg2IC0x%0AMzUgLTExNyAtMjA1IC0xMTdjLTgxIDAgLTEyOCA2NiAtMTI4IDE3MmMwIDIx%0ANSAxMTMgMzkyIDIyMiA0NzVjNDQgMzMgODIgNDIgMTIyIDQyYzcxIDAgMTIz%0AIC00OCAxMjMgLTE2N3pNMTQ3IDM0N2gyMzNjMTcgNTggMzAgMTMwIDMwIDIw%0ANWMwIDY0IC0xOCAxMDUgLTUzIDEwNWMtODcgMCAtMTg1IC0yMjEgLTIxMCAt%0AMzEwek0zNzMgMzE1aC0yMzMgYy0xOSAtNTAgLTI5IC0xMDIgLTI5IC0xNjVj%0AMCAtODkgMTkgLTE0MCA1NiAtMTQwYzk2IDAgMTgyIDIwNyAyMDYgMzA1WiI+%0APC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0yOSIgc3Ryb2tlLXdpZHRo%0APSIxMCIgZD0iTTI5IDY2MGwxMiAxNmMxNTMgLTkyIDI0NCAtMjU5IDI0NCAt%0ANDI5YzAgLTE4NSAtODggLTMyNyAtMjQ3IC00MjRsLTkgMTZjMTQyIDExNyAx%0ANzAgMjExIDE3MCA0MDVjMCAxODcgLTI1IDMwMiAtMTcwIDQxNloiPjwvcGF0%0AaD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tM0QiIHN0cm9rZS13aWR0aD0iMTAi%0AIGQ9Ik02MzcgMzIwaC01ODl2NjZoNTg5di02NnpNNjM3IDEyMGgtNTg5djY2%0AaDU4OXYtNjZaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMxIiBz%0AdHJva2Utd2lkdGg9IjEwIiBkPSJNMzk0IDBoLTI3NnYxNWM3NCA0IDk1IDI1%0AIDk1IDgwdjQ0OWMwIDM0IC05IDQ5IC0zMCA0OWMtMTAgMCAtMjcgLTUgLTQ1%0AIC0xMmwtMjcgLTEwdjE0bDE3OSA5MWw5IC0zdi01OTdjMCAtNDMgMjAgLTYx%0AIDk1IC02MXYtMTVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTJG%0AIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMjg3IDY3NmwtMjI4IC02OTBoLTY4%0AbDIyOSA2OTBoNjdaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMy%0AIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNDc0IDEzN2wtNTQgLTEzN2gtMzkx%0AdjEybDE3OCAxODljOTQgOTkgMTMwIDE3NSAxMzAgMjYwYzAgOTEgLTU0IDE0%0AMSAtMTM5IDE0MWMtNzIgMCAtMTA3IC0zMiAtMTQ3IC0xMzBsLTIxIDVjMjEg%0AMTE3IDg1IDE5OSAyMDggMTk5YzExMyAwIDE4NSAtNzcgMTg1IC0xNzZjMCAt%0ANzkgLTM5IC0xNTQgLTEyOCAtMjQ4bC0xNjUgLTE3NmgyMzRjNDIgMCA2MyAx%0AMSA5NiA2N1oiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tRDciIHN0%0Acm9rZS13aWR0aD0iMTAiIGQ9Ik01OTcgMjJsLTQ2IC00N2wtMjMxIDIzMGwt%0AMjMxIC0yMzBsLTQ2IDQ2bDIzMCAyMzFsLTIzMCAyMzFsNDcgNDZsMjMwIC0y%0AMzBsMjMxIDIzMGw0NiAtNDVsLTIzMCAtMjMyWiI+PC9wYXRoPjxwYXRoIGlk%0APSJTVElYV0VCTUFJTi0yOCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTMwNCAt%0AMTYxbC0xMiAtMTZjLTE1OCA5MCAtMjQ0IDI1OSAtMjQ0IDQyOWMwIDE4NSA4%0ANyAzMjkgMjQ3IDQyNGw5IC0xNmMtMTM5IC0xMTkgLTE3MCAtMjEyIC0xNzAg%0ALTQwNWMwIC0xODYgMzAgLTI5OSAxNzAgLTQxNloiPjwvcGF0aD48cGF0aCBp%0AZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0zOTQg%0AMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2NDQ5YzAgMzQgLTkgNDkgLTMw%0AIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0yNyAtMTB2MTRsMTc5IDkxbDkg%0ALTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYxdi0xNVoiPjwvcGF0aD48cGF0%0AaCBpZD0iU1RJWFdFQk1BSU4tMjIxMiIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0i%0ATTYyMSAyMjBoLTU1N3Y2Nmg1NTd2LTY2WiI+PC9wYXRoPjxwYXRoIGlkPSJT%0AVElYV0VCTUFJTkktNjMiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0zNTAgMTA3%0AbDE2IC0xMGMtNjEgLTc3IC0xMTQgLTEwOCAtMTg5IC0xMDhjLTkzIDAgLTE0%0ANyA1MiAtMTQ3IDE1NGMwIDkzIDUyIDE4MCAxMjMgMjM3YzQ5IDM5IDEwNiA2%0AMSAxNjcgNjFzMTA1IC0zNCAxMDUgLTgxYzAgLTI3IC0yMiAtNDggLTQ4IC00%0AOGMtMjggMCAtMzkgMjAgLTM5IDQwYzAgMTggMTUgMjkgMTUgNDhjMCAxMiAt%0AMTQgMjAgLTM3IDIwYy00MCAwIC04MCAtMTggLTEwOSAtNDhjLTU2IC01OSAt%0AOTEgLTE0NCAtOTEgLTIzMyBjMCAtNzIgMzIgLTExNCA4OSAtMTE0YzUzIDAg%0AOTEgMjUgMTQ1IDgyWiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTkkt%0ANkYiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik00NjggMzAxYzAgLTc2IC00MCAt%0AMTY0IC0xMDYgLTIyOWMtNTggLTU4IC0xMjIgLTgzIC0xODggLTgzYy05NCAw%0AIC0xNDcgNTIgLTE0NyAxMzljMCAxMTIgNzUgMjI3IDE4MCAyODNjMzkgMjEg%0ANzkgMzAgMTIwIDMwYzgxIDAgMTQxIC01MiAxNDEgLTE0MHpNMzg0IDMyNmMw%0AIDYxIC0yOCA5NCAtNzEgOTRjLTQ0IDAgLTg4IC0zMSAtMTI4IC05MWMtNDYg%0ALTcwIC03NCAtMTQ5IC03NCAtMjI4YzAgLTYwIDMxIC05MSA3OCAtOTEgYzQ0%0AIDAgODIgMjkgMTIxIDgzYzQ2IDYzIDc0IDE1NyA3NCAyMzNaIj48L3BhdGg+%0APHBhdGggaWQ9IlNUSVhXRUJNQUlOSS03MyIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTM2NiA0NDJsLTIwIC0xNDBoLTE2Yy0xMCA4MyAtNDAgMTE2IC04OSAx%0AMTZjLTM1IDAgLTU5IC0yMCAtNTkgLTU3YzAgLTI3IDE1IC01NiA1NCAtMTAy%0AYzUwIC01OCA2OCAtOTcgNjggLTEzNmMwIC04MyAtNjEgLTEzNCAtMTQ0IC0x%0AMzRjLTE3IDAgLTMyIDEgLTU1IDEwYy0xOSA4IC0zMyA5IC00NCA5cy0yMiAt%0ANSAtMjkgLTIxaC0xNmwyMCAxNTloMTZjMTQgLTk1IDQ4IC0xMzYgMTAwIC0x%0AMzZjNDcgMCA3NiAyOCA3NiA3NyBjMCAzMiAtMTcgNjYgLTU2IDExNWMtNDMg%0ANTQgLTYzIDk5IC02MyAxMzFjMCA2NiA0NyAxMDggMTIxIDEwOGMxNyAwIDMx%0AIC0zIDU2IC0xMGMxOSAtNiAyOCAtNyAzNiAtN2MxNSAwIDIyIDQgMzAgMTho%0AMTRaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOSS0zQjgiIHN0cm9r%0AZS13aWR0aD0iMTAiIGQ9Ik00OTQgNTExYzAgLTE2MiAtNjAgLTMwNiAtMTM0%0AIC00MDVjLTY1IC04NiAtMTM1IC0xMTcgLTIwNSAtMTE3Yy04MSAwIC0xMjgg%0ANjYgLTEyOCAxNzJjMCAyMTUgMTEzIDM5MiAyMjIgNDc1YzQ0IDMzIDgyIDQy%0AIDEyMiA0MmM3MSAwIDEyMyAtNDggMTIzIC0xNjd6TTE0NyAzNDdoMjMzYzE3%0AIDU4IDMwIDEzMCAzMCAyMDVjMCA2NCAtMTggMTA1IC01MyAxMDVjLTg3IDAg%0ALTE4NSAtMjIxIC0yMTAgLTMxMHpNMzczIDMxNWgtMjMzIGMtMTkgLTUwIC0y%0AOSAtMTAyIC0yOSAtMTY1YzAgLTg5IDE5IC0xNDAgNTYgLTE0MGM5NiAwIDE4%0AMiAyMDcgMjA2IDMwNVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4t%0AMjkiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0yOSA2NjBsMTIgMTZjMTUzIC05%0AMiAyNDQgLTI1OSAyNDQgLTQyOWMwIC0xODUgLTg4IC0zMjcgLTI0NyAtNDI0%0AbC05IDE2YzE0MiAxMTcgMTcwIDIxMSAxNzAgNDA1YzAgMTg3IC0yNSAzMDIg%0ALTE3MCA0MTZaIj48L3BhdGg+PC9kZWZzPjxnIHN0cm9rZT0iYmxhY2siIGZp%0AbGw9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjAiIHRyYW5zZm9ybT0ibWF0cml4%0AKDEgMCAwIC0xIDAgMCkiPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlO%0ASS0zQzEiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTI4%0AIiB4PSI1MDkiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhX%0ARUJNQUlOSS0zQjgiIHg9Ijg0NyIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpo%0AcmVmPSIjU1RJWFdFQk1BSU4tMjkiIHg9IjEzNDYiIHk9IjAiPjwvdXNlPjx1%0Ac2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTNEIiB4PSIxOTYxIiB5PSIw%0AIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zMSIgeD0i%0AMjkyOSIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU4tMkYiIHg9IjM0MzQiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0i%0AI1NUSVhXRUJNQUlOLTMyIiB4PSIzNzE3IiB5PSIwIj48L3VzZT48dXNlIHhs%0AaW5rOmhyZWY9IiNTVElYV0VCTUFJTi1ENyIgeD0iNDQ0NCIgeT0iMCI+PC91%0Ac2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tMjgiIHg9IjUzMTIi%0AIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTMx%0AIiB4PSI1NjUwIiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElY%0AV0VCTUFJTi0yMjEyIiB4PSI2Mzc3IiB5PSIwIj48L3VzZT48dXNlIHhsaW5r%0AOmhyZWY9IiNTVElYV0VCTUFJTkktNjMiIHg9IjcyODkiIHk9IjAiPjwvdXNl%0APjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOSS02RiIgeD0iNzczOCIg%0AeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU5JLTcz%0AIiB4PSI4MjQzIiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElY%0AV0VCTUFJTkktM0I4IiB4PSI4NjM3IiB5PSIwIj48L3VzZT48dXNlIHhsaW5r%0AOmhyZWY9IiNTVElYV0VCTUFJTi0yOSIgeD0iOTEzNiIgeT0iMCI+PC91c2U+%0APC9nPjwvc3ZnPg==%0A" alt="\rho(\theta) = 1/2 \times (1 − cos \theta)">, ainsi que les annotations textuelles.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746875622e636f6d2f766d61676e696e2f67746b2d666f727472616e2f626c6f622f67746b342f73637265656e73686f74732f636169726f2d74657374732d7562756e74755f32325f31302e706e673f7261773d74727565/cairo-tests-ubuntu_22_10.png?raw=true" alt="cairo-tests" title="Source : https://github.com/vmagnin/gtk-fortran/blob/gtk4/screenshots/cairo-tests-ubuntu_22_10.png?raw=true"></p>
<p>L'exemple <code>hl_cairo_viewer.f90</code> a été écrit par JTappin en 2013 et utilise sa librairie gtk-fortran High Level. Certains bogues ont été corrigés :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746875622e636f6d2f766d61676e696e2f67746b2d666f727472616e2f626c6f622f67746b342f73637265656e73686f74732f686c5f636169726f5f7669657765722d6665646f726133382e706e673f7261773d74727565/hl_cairo_viewer-fedora38.png?raw=true" alt="hl_cairo_viewer" title="Source : https://github.com/vmagnin/gtk-fortran/blob/gtk4/screenshots/hl_cairo_viewer-fedora38.png?raw=true"></p>
<p>L'exemple <code>cairo-basics.f90</code> enregistre désormais le dessin dans un fichier SVG et un fichier PDF.</p>
<p>La compilation de l'exemple <code>menubar.f90</code> échouait sur les systèmes 32 bits, à cause d'un type <code>int64</code> utilisé à la place de <code>c_size_t</code> (pour le type GLib <code>gssize</code>). Cela a été corrigé.</p>
<p>Un nouvel exemple a été ajouté dans le dépôt gtk-fortran-extra (licence MIT) : <a href="https://github.com/vmagnin/gtk-fortran-extra/tree/main/saville_code">Peter Saville's color code</a>. L'affichage utilise la bibliothèque Cairo (graphiques vectoriels) de GTK, et parmi les widgets se trouvent : GtkButton, GtkToggleButton, GtkLinkButton, GtkSpinButton, GtkEntry, GtkLabel, GtkStatusbar…</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f766d61676e696e2f67746b2d666f727472616e2d65787472612f6d61696e2f73637265656e73686f74732f736176696c6c655f636f64652e706e673f7261773d74727565/saville_code.png?raw=true" alt="saville_code" title="Source : https://raw.githubusercontent.com/vmagnin/gtk-fortran-extra/main/screenshots/saville_code.png?raw=true"></p>
<p>Le graphiste de Manchester <a href="https://fr.wikipedia.org/wiki/Peter_Saville">Peter Saville</a> a utilisé ce code sur quatre pochettes de disques, la première étant celle du maxi 45 tours <a href="https://youtu.be/c1GxjzHm5us">Blue Monday</a> en mars 1983. L'idée était de souligner la modernité du morceau avec un code couleur évoquant un code lisible par ordinateur (les lecteurs de codes-barres étaient alors une nouveauté en France). La pochette est également célèbre pour sa découpe en forme de disquette 5,25 pouces (support moderne à l'époque, d'une capacité de 360 Ko). Bien qu'il s'agisse du <em>single</em> 12" le plus vendu de tous les temps, la pochette de Blue Monday coûtait trop chère, avec sa découpe et les couleurs précises demandées par Saville pour son code couleur. Chaque exemplaire était vendu à perte.</p>
<div><a href="https://linuxfr.org/users/vmagnin/journaux/sortie-de-gtk-fortran-4-4.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/131105/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/journaux/sortie-de-gtk-fortran-4-4#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/131105/comments.atomtag:linuxfr.org,2005:Bookmark/63062023-04-18T10:33:18+02:002023-04-18T10:33:18+02:00Questionnaire destiné aux utilisateurs de LLVM Flang (User Interest Survey)<a href="https://fortran-lang.discourse.group/t/llvm-flang-user-interest-survey/5413">https://fortran-lang.discourse.group/t/llvm-flang-user-interest-survey/5413</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/130961/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/e3ms6vyx/liens/questionnaire-destine-aux-utilisateurs-de-llvm-flang-user-interest-survey#comments">ouvrir dans le navigateur</a>
</p>
E3Ms6vyXhttps://linuxfr.org/nodes/130961/comments.atomtag:linuxfr.org,2005:Bookmark/55072022-12-03T18:31:49+01:002022-12-03T18:31:49+01:00Taptempo in da web !<a href="https://github.com/Beliavsky/Fortran-code-on-GitHub#art-and-music">https://github.com/Beliavsky/Fortran-code-on-GitHub#art-and-music</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129498/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/oulala/liens/taptempo-in-da-web#comments">ouvrir dans le navigateur</a>
</p>
Tonton Thhttps://linuxfr.org/nodes/129498/comments.atomtag:linuxfr.org,2005:Diary/404592022-11-10T14:23:16+01:002022-11-10T14:23:16+01:00Sortie de gtk-fortran 4.3Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p><a href="https://github.com/vmagnin/gtk-fortran/wiki">gtk-fortran</a> est une bibliothèque permettant de créer des interfaces graphiques GTK en Fortran moderne, ainsi que d'accéder à la bibliothèque généraliste GLib sur laquelle est basée GTK. La dernière version, gtk-fortran 4.3, offre des interfaces Fortran pour GTK 4.8.2 et GLib 2.74.1. Elle a été testée sous Linux Ubuntu (avec les compilateurs GFortran et Intel ifx) et Fedora, MSYS2/Windows 10, macOS et FreeBSD.</p>
<p>On compte 80 commits depuis la version 4.2.1 : corrections de bugs divers, améliorations mineures, nettoyage du code… Mais l'amélioration majeure est plutôt du côté des 135 commits du wiki. La documentation a en effet été entièrement révisée, mise à jour et restructurée en suivant la méthode <a href="https://diataxis.fr/">Diátaxis</a> qui la divise en quatre quadrants : tutoriels, guides pratiques, explications, références.</p>
<p>Un exemple a été ajouté fin mai dans le dépôt <a href="https://github.com/vmagnin/gtk-fortran-extra/tree/main/parallel_app">gtk-fortran-extra</a> (licence MIT). Il montre comment vous pouvez utiliser avec gtk-fortran les fonctionnalités parallèles introduites dans Fortran 2008 et Fortran 2018 (coarrays, événements, équipes, routines collectives). Il calcule et affiche un Buddhabrot.</p>
<p>Enfin, rappelons que depuis sa version précédente :<br>
- gtk-fortran peut être installé via <a href="https://github.com/conda-forge/gtk-4-fortran-feedstock">conda</a> (Linux et macOS seulement).<br>
- gtk-fortran peut être utilisé comme une dépendance <a href="https://fpm.fortran-lang.org">fpm (Fortran Package Manager)</a>.</p>
<p>Quatre ensembles de Julia sur quatre systèmes d'exploitation (Fedora, macOS, FreeBSD, MSYS2/Windows) :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746875622e636f6d2f766d61676e696e2f67746b2d666f727472616e2f626c6f622f67746b342f73637265656e73686f74732f4a756c69615f67746b2d666f727472616e5f616e696d617465642e6769663f7261773d74727565/Julia_gtk-fortran_animated.gif?raw=true" alt="Julia" title="Source : https://github.com/vmagnin/gtk-fortran/blob/gtk4/screenshots/Julia_gtk-fortran_animated.gif?raw=true"></p>
<div><a href="https://linuxfr.org/users/vmagnin/journaux/sortie-de-gtk-fortran-4-3.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129257/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/journaux/sortie-de-gtk-fortran-4-3#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/129257/comments.atomtag:linuxfr.org,2005:News/412302022-10-19T07:28:49+02:002022-10-19T20:33:20+02:00Des nouvelles de Fortran n°4 - Octobre 2022Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Que s’est-il passé dans le monde du Fortran depuis notre <a href="//linuxfr.org/news/des-nouvelles-de-fortran-n-3-fevrier-2022">dépêche de février</a> ? Faisons un point automnal en commençant par deux évènements marquants, des nouvelles du front des compilateurs, un point sur les activités de la jeune communauté Fortran-lang et des nouvelles de quelques projets Fortran. Nous conclurons par un étonnant retour vers le futur du développement logiciel !</p>
</div><ul><li>lien nᵒ 1 : <a title="https://fortran-lang.org/fr/" hreflang="fr" href="https://linuxfr.org/redirect/111181">Fortran-lang.org</a></li><li>lien nᵒ 2 : <a title="https://j3-fortran.org/doc/year/22/22-007r1.pdf" hreflang="en" href="https://linuxfr.org/redirect/111182">Norme Fortran 2023 (brouillon du comité J3)</a></li><li>lien nᵒ 3 : <a title="https://www.youtube.com/watch?v=Oe9LRKoE6L0" hreflang="en" href="https://linuxfr.org/redirect/111183">Vidéo sur Jack Dongarra (prix Turing 2021)</a></li><li>lien nᵒ 4 : <a title="http://russianscdays.org/files/talks/VVolkonsky-RSCDays-2015.pdf" hreflang="en" href="https://linuxfr.org/redirect/111184">Présentation de 2015 sur l'architecture russe Elbrus</a></li><li>lien nᵒ 5 : <a title="https://dev.lfortran.org/" hreflang="en" href="https://linuxfr.org/redirect/111185">Démonstration en ligne du compilateur LFortran utilisant sa dorsale WebAssembly</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-normes-fortran-2023-et-202y">Normes Fortran 2023 et 202Y</a></li>
<li><a href="#toc-prix-turing-2021">Prix Turing 2021</a></li>
<li>
<a href="#toc-sur-le-front-des-compilateurs">Sur le front des compilateurs</a><ul>
<li><a href="#toc-arm-fortran-compiler-armflang">Arm Fortran Compiler (armflang)</a></li>
<li><a href="#toc-lcc">LCC</a></li>
<li><a href="#toc-lfortran">LFortran</a></li>
</ul>
</li>
<li>
<a href="#toc-communaut%C3%A9-fortran-lang">Communauté Fortran-lang</a><ul>
<li><a href="#toc-gsoc-2022">GSoC 2022</a></li>
<li><a href="#toc-projets-logiciels-g%C3%A9r%C3%A9s-par-fortran-lang">Projets logiciels gérés par Fortran-lang</a></li>
<li><a href="#toc-documentation">Documentation</a></li>
</ul>
</li>
<li><a href="#toc-projets-ind%C3%A9pendants">Projets indépendants</a></li>
<li><a href="#toc-rien-de-nouveau-sous-le-soleil">Rien de nouveau sous le soleil</a></li>
</ul>
<h2 id="toc-normes-fortran-2023-et-202y">Normes Fortran 2023 et 202Y</h2>
<p>Le projet de norme Fortran 202x a été rebaptisé Fortran 2023, norme qui devrait être publiée en juillet. Tous les compilateurs n’ayant pas fini d’implémenter Fortran 2018, il s’agit d’une version dite mineure apportant de nombreuses petites améliorations à différentes parties du langage. Comme à son habitude, John Reid les a résumées dans ce document de 23 pages : <a href="https://wg5-fortran.org/N2151-N2200/N2194.pdf">The new features of Fortran 202x</a>.</p>
<p>Le comité J3 <em>(US Fortran Standards Committee)</em> a commencé à travailler sur la 5<sup>e</sup> norme Fortran de ce XXI<sup>e</sup> siècle, nommée pour l’instant Fortran 202Y, alors que le langage s’approche tranquillement de son 70<sup>e</sup> anniversaire (au choix : le projet FORTRAN commence en 1954, le compilateur est déployé par IBM en 1957). Un document résume l’ensemble des <a href="https://j3-fortran.org/doc/year/22/22-176r5.pdf">suggestions</a> qui ont été pour l’instant transmises au comité, en date du 22 juillet. L’amélioration de la programmation générique et les <em>templates</em> ont déjà été acceptés.</p>
<h2 id="toc-prix-turing-2021">Prix Turing 2021</h2>
<p>Le 30 mars 2022, l’ACM <em>(Association for Computing Machinery)</em> a décerné le prix Turing 2021 à l’Américain <a href="https://amturing.acm.org/award_winners/dongarra_3406337.cfm">Jack Dongarra</a> <em>« pour ses contributions pionnières aux algorithmes numériques et aux bibliothèques qui ont permis aux logiciels de calcul de haute performance de suivre le rythme des améliorations exponentielles du matériel pendant plus de quatre décennies. »</em> Il a travaillé sur plusieurs bibliothèques de calcul en FORTRAN telles que EISPACK (1974), LINPACK, BLAS, LAPACK (1992) et ScaLAPACK (1993), etc. Il a créé en 1985 le dépôt <a href="https://netlib.org/">netlib</a> dont les logiciels étaient au début automatiquement envoyés <a href="https://dl.acm.org/doi/pdf/10.1145/22899.22904">sur requête e-mail</a>. Il a participé à la mise en place du standard <em>Message Passing Interface (MPI)</em> pour le calcul parallèle (1994). Ayant longtemps travaillé sur la mesure des performances des calculateurs avec LINPACK, il est également à l’origine du <a href="https://www.top500.org/">TOP500</a> des plus puissants supercalculateurs de la planète. Plus récemment (2016), il a travaillé sur le calcul par GPU. Il donnera sa <a href="https://sc22.supercomputing.org/2022/06/14/acm-a-m-turing-award-lecture-to-be-presented-at-sc22/">conférence Turing</a> le 15 novembre 2022, en ouverture de la SC22 <em>(The International Conference for High Performance Computing, Networking, Storage, and Analysis)</em> à Dallas.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f312f31662f4a61636b2d646f6e67617272612d323032322e6a70672f31393270782d4a61636b2d646f6e67617272612d323032322e6a7067/192px-Jack-dongarra-2022.jpg" alt="Jack Dongarra" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Jack-dongarra-2022.jpg/192px-Jack-dongarra-2022.jpg"></p>
<p>(Photo ICLTSG, Wikimedia Commons, licence CC BY-SA 4.0)</p>
<h2 id="toc-sur-le-front-des-compilateurs">Sur le front des compilateurs</h2>
<h3 id="toc-arm-fortran-compiler-armflang">Arm Fortran Compiler (armflang)</h3>
<p>La collection de compilateurs C/C++/Fortran <em>Arm Compiler for Linux</em> est désormais <a href="https://community.arm.com/arm-community-blogs/b/high-performance-computing-blog/posts/arm-compilers-and-libraries-for-hpc-now-free">disponible gratuitement</a>. Le compilateur Fortran armflang est pour l’instant basé sur le compilateur Classic Flang, en attendant de passer au nouveau frontal LLVM Flang en développement.</p>
<h3 id="toc-lcc">LCC</h3>
<p><a href="http://mcst.ru/lcc">LCC</a> est un compilateur propriétaire du concepteur de microprocesseurs russe <a href="https://en.wikipedia.org/wiki/MCST">MCST</a> (le <em>Moscow Center of SPARC Technologies,</em> fondé en 1992). Il prend en charge les langages C, C++ et Fortran pour les ordinateurs à architecture <a href="https://en.wikipedia.org/wiki/Elbrus_2000">Elbrus</a> ou SPARC (ainsi que x86_64 via un compilateur croisé). LCC est décrit comme largement compatible avec le compilateur GCC. Concernant les processeurs Elbrus, le fondeur est TSMC <em>(Taiwan Semiconductor Manufacturing Company).</em></p>
<h3 id="toc-lfortran">LFortran</h3>
<p>En décembre 2021, <a href="https://ondrejcertik.com/blog/2022/04/leaving-los-alamos-national-laboratory-and-joining-gsi-technology/">Ondřej Čertík</a> a quitté le <em>Los Alamos National Laboratory (LANL)</em> pour rejoindre <em>GSI Technology</em> en tant que développeur de compilateurs à temps plein. Il continue d’y développer le compilateur interactif LFortran ainsi que <a href="https://lpython.org/">LPython</a>, un nouveau frontal Python. Ils prendront entre autres en charge leurs « processeurs » <a href="https://www.gsitechnology.com/APU">Gemini Associative Processing Unit (APU)</a>, des circuits de mémoire capables d’effectuer en interne des traitements sur les données stockées.</p>
<h2 id="toc-communauté-fortran-lang">Communauté Fortran-lang</h2>
<p>Le Discourse de la communauté totalise désormais plus de 850 utilisateurs inscrits. Sur GitHub, l’organisation Fortran-lang comprend 83 membres. Lors de la recherche du mot clé « Fortran » dans le Google anglo-saxon, le site Fortran-lang.org est désormais maillot jaune (sans recours au dopage), résultat de presque trois ans de travail de la communauté. Un article a été publié sur l’état du langage et les activités de la communauté :</p>
<p>L.J. Kedward et al., « <em>The State of Fortran</em> », in <em>Computing in Science & Engineering,</em> vol. 24, n°2, p. 63-72, 1 mars-avril 2022, doi : 10.1109/MCSE.2022.3159862, PDF disponible sur <a href="https://arxiv.org/abs/2203.15110">https://arxiv.org/abs/2203.15110</a></p>
<p>Enfin, Fortran-lang vient de postuler pour être sponsorisée par l’organisation américaine à but non-lucratif <a href="https://numfocus.org/">NumFOCUS</a> : réponse attendue fin novembre. Parmi les projets déjà sponsorisés par NumFOCUS, on compte : Jupyter, IPython, NumPy, SciPy, SymPy, Matplotlib, Julia, conda-forge, LFortran, etc.</p>
<h3 id="toc-gsoc-2022">GSoC 2022</h3>
<p>L’organisation Fortran-lang a participé au <a href="https://summerofcode.withgoogle.com/programs/2022/organizations/fortran-lang">Google Summer of Code 2022</a> (à ouvrir avec Chromium car Firefox n’affiche pas la liste des projets !). Cinq étudiants ont travaillé sur :</p>
<ul>
<li>un plan de transformation de l’écosystème Fortran basé sur le gestionnaire de paquets Fortran fpm.</li>
<li>La création d’un <a href="https://play.fortran-lang.org/">Fortran Playground</a> permettant de s’initier en ligne au Fortran (le compilateur utilisé est pour l’instant GFortran).</li>
<li>La migration du site fortran-lang.org de jekyll vers Sphinx. L’internationalisation du site en est facilitée : les traductions sont désormais gérées avec <a href="https://hosted.weblate.org/projects/fortran-lang/">Weblate</a>. Les pages principales du site ont été traduites <a href="https://fortran-lang.org/fr/">en français</a> et le travail se poursuit.</li>
<li>L’ajout d’une application dorsale WebAssembly au compilateur LFortran.</li>
<li>Le prototypage dans LFortran des nouveautés en programmation générique qui sont prévues pour la future norme Fortran 202Y.</li>
</ul>
<h3 id="toc-projets-logiciels-gérés-par-fortran-lang">Projets logiciels gérés par Fortran-lang</h3>
<ul>
<li>Le gestionnaire de paquets Fortran <a href="https://github.com/fortran-lang/fpm/releases/tag/v0.6.0">fpm 0.6.0 est sorti</a> le 19 juin 2022. Concernant sa documentation, parmi les six langues pour lesquelles la traduction est bien avancée, la <a href="https://fpm.fortran-lang.org/fr/index.html">version française</a> fait partie des traductions intégrales.</li>
<li>La bibliothèque standard <a href="https://github.com/fortran-lang/stdlib/releases/tag/v0.2.1">stdlib 0.2.1 est sortie</a> le 22 avril 2022.</li>
<li>L’extension <a href="https://marketplace.visualstudio.com/items?itemName=fortran-lang.linter-gfortran">Modern Fortran</a> (actuellement en version 3.4) pour Visual Studio Code apporte le support du langage Fortran, avec coloration syntaxique, auto-complétion, débogueur, diagnostique, etc.</li>
</ul>
<h3 id="toc-documentation">Documentation</h3>
<p>Une <a href="https://fortran-lang.org/learn/intrinsics">liste des instructions intrinsèques du Fortran</a> est désormais en ligne. Chaque description inclut un programme d’exemple complet et indique la norme ayant introduit la fonctionnalité. Cette liste peut même être installée sous forme de pages <code>man</code>. On peut alors par exemple taper pour la fonction sinus hyperbolique :</p>
<p><code>$ man sinh.3fortran</code></p>
<h2 id="toc-projets-indépendants">Projets indépendants</h2>
<ul>
<li>Doom Emacs dispose désormais d’un <a href="https://github.com/doomemacs/doomemacs/tree/master/modules/lang/fortran">module Fortran</a>.</li>
<li>Autre nouveauté, <a href="https://github.com/interkosmos/fortran-tcl86">fortran-tcl86</a> propose des interfaces Fortran vers Tcl/Tk 8.6.</li>
<li>
<a href="https://github.com/urbanjost/orderpack">ORDERPACK</a>, bibliothèque de tri et de classement <em>(ranking)</em> initialement développée entre 2002 et 2013, a été reprise et est sortie en version 2.1. Elle est désormais utilisable en tant que paquet fpm.</li>
<li>La bibliothèque <a href="https://github.com/jacobwilliams/quadpack">Quadpack</a> dont le développement avait été arrêté dans les années 80 a également été reprise pour modernisation. Elle est désormais utilisable en tant que paquet fpm.</li>
<li>gtk-fortran, sortie en avril en <a href="//linuxfr.org/news/sortie-de-gtk-fortran-4-2-conda-et-fpm-au-menu">version 4.2</a>, est installable via conda et peut être utilisée comme dépendance fpm. Mais l’utilisateur sera surtout sensible aux nouveaux tutoriels et à la refonte de la documentation. Celle-ci a été entièrement révisée et restructurée en suivant la méthode <a href="https://diataxis.fr/">Diátaxis</a> où les pages de documentation sont groupées dans quatre sections : Tutoriels, Guides pratiques <em>(how-to),</em> Références et Explications.</li>
</ul>
<h2 id="toc-rien-de-nouveau-sous-le-soleil">Rien de nouveau sous le soleil</h2>
<p>S’intéresser au Fortran, c’est aussi plonger dans l’histoire de l’informatique et contempler parfois avec étonnement à la fois comment tout change et rien ne change. Ce paragraphe provient d’un article décrivant l’état du FORTRAN (alors en majuscules) vers 1958, soit un an après le déploiement du premier compilateur chez les clients d’IBM :</p>
<blockquote>
<p><em>Néanmoins, la base technique du FORTRAN était suffisamment solide pour que son utilisation fasse boule de neige. Il y eut bientôt des centaines de clients qui firent des centaines de suggestions d’améliorations. Ils trouvaient des bogues et les envoyaient – pas seulement des rapports d’erreur, mais dans de nombreux cas, les corrections étaient envoyées en même temps. De nombreuses suggestions portaient sur des sujets tels que l’amélioration des diagnostics – de petites choses pratiques – et c’était comme si des centaines de personnes travaillaient à l’amélioration de FORTRAN. Les suggestions affluaient et nous les mettions en œuvre aussi vite que possible.</em></p>
</blockquote>
<p>William P. Heising, <a href="http://ed-thelen.org/FortranHistories/2a%20From%20STORY%20-%20Early%20Fortran%20from%20ANNALS.pdf">The Emergence of FORTRAN IV from FORTRAN II</a>, <em>Annals of the History of Computing,</em> vol. 1, n°1, janv. 1984.</p>
</div><div><a href="https://linuxfr.org/news/des-nouvelles-de-fortran-n-4-octobre-2022.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129015/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/des-nouvelles-de-fortran-n-4-octobre-2022#comments">ouvrir dans le navigateur</a>
</p>
vmagninBenoît SibaudJulien JorgeYsabeau 🧶 🧦https://linuxfr.org/nodes/129015/comments.atom