Le titre dit tout, je me disais que comme il date de 1954 il a trentre ans de plus que le C++ à moins d'être mis a jour encore aujourd'hui continuellement, ça ne veut pas dire qu'il est meilleur.
Puis-je avoir des informations à son sujet ?
Le titre dit tout, je me disais que comme il date de 1954 il a trentre ans de plus que le C++ à moins d'être mis a jour encore aujourd'hui continuellement, ça ne veut pas dire qu'il est meilleur.
Puis-je avoir des informations à son sujet ?
A ma connaissance, Fortran est toujours maintenu. Des normes ont été publiées en 66, 77, 90, 95 et 2003. La révision pour 2008 semble bien en place (http://www.nag.co.uk/sc22wg5, http://www.j3-fortran.org), mais j'ai simplement été chercher ces infos sur le web, je ne suis pas la chose de très près.
Malgré les efforts apparents pour en faire un vrai un langage à usage général, il me semble être de plus en plus un langage de niche pour le calcul numérique. Dans ce domaine il a sur d'autres langages (en particulier le C et le C++) des avantages certains (en particulier une sémantique permettant une optimisation plus poussée, et une pression des utilisateurs pour que les compilateurs soient performants sur ce genre de code).
C'est pas le langage que je chercherais à apprendre si je n'en avais pas le besoin immédiat.
Sur le langage même, je ne connais réellement que la version 77 et mon expérience date de plus de 15 ans; je ne crois pas que ce soit juste de commenter plus.
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Très bien je ne compte pas l'apprendre, si je l'apprend un jours ce ne sera pas tout de suite et plutot pour connaître un des tout premiers language!Mais pas avant deux trois ans je me dirais...En 2008 justement!
Quand tu dit "niche pour le calcul numérique" que veut-ce dire?
Ca veut dire que c'est utilisé uniquement (ou presque) pour écrire des gros calculs scientifiques sur des matrices ou tutti-quanti... La raison en est principalement un énorme legs de très bonnes bibliothèques de calculs en Fortran, qui ont été déboguées pendant des dizaines d'années ce qu'il est difficile de retrouver avec un autre langage (et l'absence de bugs ça a son importance quand une erreur dans tes calculs peut coûter des vies humaines, ou si ton calcul dure une semaine...)
--
Jedaï
Donc a priori pas vraiment de besoin de l'apprendre?
Le Fortran est un langage scientifique. Il est fait pour cela. Si tu ne te destines pas a des etudes scientifiques, et si tu ne souhaites pas travailler en laboratoire, il est inutile d'apprendre le Fortran.
Pour ma part (recherche en climatologie/meteorologie), j'utilise du Fortran tous les jours. Tous les modeles de prevision meteo que je connais sont ecrits en Fortran, et tournent sur des supercalculateurs qui disposent de compilateurs Fortran fantastiques. Quelqu'un ne connaissant pas le Fortran dans mon domaine serait clairement perdu. D'apres ce que je sais, c'est le cas dans la plupart des disciplines scientifiques necessitant une certaine puissance de calcul.
Que c'est un langage utilise principalement quand on fait du calcul numerique. Le langage est defini en bonne partie en fonction de ca, permettant des choses que C et C++ ne permet pas par exemple. Les compilateurs sont ecrits en fonction de ca, exploitant a fond les possibilite du langage. Il y a des bibliotheques disponibles. Les gens travaillant dans ces domaines (les applications scientifiques restent des applications ecrites principalement par les specialistes du domaines plus que par des informaticiens) connaissent ce langage.Envoyé par Extra-Nitro
Si tu travailles dans ces domaines, tu en a besoin. Si tu n'y travaille pas, tu peux passer ta vie sans te rendre compte qu'il existe.
En ce qui concerne les langages de programmation, le monde est moins homogene que certains ne le pensent.
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Python est également souvent utilisé pour des calculs de recherche scientifique dans les universitées...
Merci de vos aides... 8)
Je doute fort que Python soit utilisé pour le même genre de chose que Fortran l'est habituellement.Envoyé par Extra-Nitro
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Python reste un langage interprété... donc ce n'est pas le top en vitesse d'exécution, même si il existe swig ou cz_freezeJe doute fort que Python soit utilisé pour le même genre de chose que Fortran l'est habituellement.Python est également souvent utilisé pour des calculs de recherche scientifique dans les universitées...
pour ce qui est de swig, le programme se met à consommer 3 fois plus de mémoire que le code interprété...
en plus, le recours systématique à une poo de haut niveau ne permet pas d'optimiser les calculs.
a ma connaissance, à part des solutions c / asm, il n'y a pas grand chose pour concurrencer fortran
Par IDLE les calcules de simple caré et cube au dela de 50 sont lent, mais par Python command line(ou MS_DOS c'est pareil) c'est beaucoup plus rapide! Mais python a 38ans de moin que fortrn alors come vous vous y connaissez plus que moi, je retient...
Et niveau difficulté a apprendre et pratiquer?Il en est ou?
Merci
Plus qu'être interprété, ce qui gène c'est que c'est un langage extrêmement dynamique. Essayez de réfléchir au problème de la compilation de python pour avoir une idée.Envoyé par gorgonite
On remarque en effet dans C99 une influence certaine des numériciens (voir restrict par exemple).a ma connaissance, à part des solutions c / asm, il n'y a pas grand chose pour concurrencer fortran
Ada a l'avantage sur tous ces langages (y compris Fortran la dernière fois que j'ai regardé) d'avoir des contraintes de précision sur les flottants. L'inconvéniant d'Ada c'est que ce n'est pas un domaine d'application traditionnel d'Ada, donc les compilateurs n'accordent pas l'importance des compilateurs Fortran à l'optimisations du calcul numérique.
C++ n'est pas un acteur à négliger. Voir en particulier ce que la "meta-programmation" et en particulier les "expressions template" permettent de faire.
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
C'est pour cela que j'avais ajouté (même si c'est faux avec des langages objet haut niveau comme O-Caml)Plus qu'être interprété, ce qui gène c'est que c'est un langage extrêmement dynamique. Essayez de réfléchir au problème de la compilation de python pour avoir une idée.
ainsi le typage est quasi inexistant pour les "types de base"...recours systématique à une poo de haut niveau
ça permet à l'utilisateur de gagner beaucoup de temps, mais augmente considerablement la charge de travail de l'interprétateur.
en revanche, une partie de ce problème disparait quand on "swig"
en ce qui concerne les détails du cx_freeze, je ne sais pas...
Ou pas.Envoyé par Extra-Nitro
Il peut être utilisé pour scripter des calculs dans un autre langage, mais faire de la recherche juste en Python, non.
c'est juste, python permet d'importer beaucoup de trucs...
Qu'est ce qu'au juste la méta-programmation?
En effet pour faire de gros calculs, fortran est utilisé, car simple à l'ecriture: les chercheurs/scientifiques ne veulent pas se prendre la tete avec des pointeurs et pointeurs de pointeurs... comme dit plus haut il y a déja tellement de librairies en fortran stables, efficaces, optimisées que c'est pas demain la veille qu'ils vont changer de langage. En gros dans le monde de la recherche (calculatoire) c'est 50-50 (fortran/c-c++). A noter que la nasa utilise encore fortran.
python c'est un langage plutot pour les biologistes qui veulent faire des choses simple, rapidement et sans se prendre la tete aussi.
bref en gros fortran ce n'est pas interessant de regarder comment c'est foutu, je regarde les codes créé dans mon labo, ben ce n'est ni plus ni moins des boucles des conditions des tableaux... qu'ils utilisent, autant dire des choses simples.
winsplit revolution mon soft
Ya t'il quelqun?
J'aimerai savoir ce qu'est la meta-programmation?
Ya t'il quelqun?Envoyé par Extra-Nitro
Avant de poster, faire un minimum de recherche par soi-même (surtout pour une définition).
mode machage de travail -> http://loulou.developpez.com/tutoriels/cpp/metaprog/
(voir aussi Google)
En pratique, on utilise tout de même moins FORTRAN qu'il y a encore 5 ou 10 ans. Je fait de la modélisation d'écoulement des fluides, un domaine ou FORTRAN est de plus en plus remplacé par C++. Je dirais que petit à petit, fortran/C++, c'est du 40/60 voir 30/70.En effet pour faire de gros calculs, fortran est utilisé, car simple à l'ecriture: les chercheurs/scientifiques ne veulent pas se prendre la tete avec des pointeurs et pointeurs de pointeurs... comme dit plus haut il y a déja tellement de librairies en fortran stables, efficaces, optimisées que c'est pas demain la veille qu'ils vont changer de langage. En gros dans le monde de la recherche (calculatoire) c'est 50-50 (fortran/c-c++). A noter que la nasa utilise encore fortran.
python c'est un langage plutot pour les biologistes qui veulent faire des choses simple, rapidement et sans se prendre la tete aussi.
En ce qui concerne Python, il n'est pas utilisé que par les biologistes. Bien au contraire, son usage se répend dans tous les domaines de l'ingéniérie à vitesse grand "V" et cela devient une alternative viable à Matlab - qui est actuellement LE standard dans beaucoup d'activités scientifiques.
Python est un très bon choix pour apprendre à programmer et très utile pour le calcul numérique. Grosso Modo, ce que fait Matlab, Python le fait ou presque. Pour faire du calcul numérique haute perf', apprendre C++ est selon moi un bien meilleur investissement que FORTRAN.
Pour une intro à la méta-programmation en C++, voir:Extra-Nitro a écrit:
Ya t'il quelqun?
J'aimerai savoir ce qu'est la meta-programmation?
http://loulou.developpez.com/tutoriels/cpp/metaprog/
Salutations
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Objective CAML fait aussi parler de lui chez les scientifiques, populaire au MIT j'crois aussi.
Simple à apprendre, permet de faire du fonctionnel/procédural/objet, aussi rapide que C++ et plus concis.
Sur google, il y a un site en anglais qui fait quelques comparaisons, sur un ray tracer.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager