Glycogène a écrit : ↑08 juin 2024, 08:56
GillesH38 a écrit : ↑07 juin 2024, 20:20
pour traduire un programme en Python en Fortran
Oh non !
Pourquoi dans ce sens là ?
Pourquoi entretenir du code en fortran ?
Quel gaspillage d'énergie pour les étudiants ! Au lieu d'utiliser un langage plus haut niveau qui permet de coder en qq lignes son idée, et surtout qui possède des librairies permettant de gagner des années de travail. Et accessoirement qui diminue le risque de faille de sécurité.
Ca dépend de ce que tu veux faire. Si tu n'as pas besoin de performance, tu peux coder en python, mais si tu as besoin de performance, tu codes dans un langage bas niveau. En général, je code en python, c'est un langage que j'adore, très expressif, et qui te laisse beaucoup de liberté. Mais j'ai fait un accordeur qui devait m'afficher le graphe des fréquences d'un son en temps réel, par example quand quelqu'un chante. Impossible en python, j'ai du coder en C. J'avais lu que c'etait un facteur 70 pour le rapport de vitesse entre les deux langages. C'est compatible avec mes propres expériences. Le fortran est encore plus rapide que le C, et ya plein de bibliothèques scientifiques en fortran qui sont maintenues pour cette raison.
Pour revenir a la conversion par chat-gpt, ca devait etre un programme bien simpliste parce que sinon, c'est intraduisible automatiquement, surtout du sens python vers fortran. Les concepts sont completement differents, notamment avec le typage dynamique pour Python, toute la programmation objet, les objets mutables/non mutables qui n'ont pas de correspondance parfaite avec le fortran, etc.. Même pour un programme simple, je pense qu'il y a pas mal d'interventions à la main pour retravailler le brouillon fourni par chatgpt. Ya par exemple pas moyen d'inventer le typage des variables qui sont en général non typées dans python. Bien qu'il soit loin de charrier toutes les nuances d'une langue humaine, un langage informatique de haut niveau est déjà marqué par des choix esthétiques de programmation qui ne sont pas traduisibles facilement d'un langage dans un autre, même pour un humain qui a un bon niveau.