Je me demandais quelle est la meilleure façon d'apprendre à programmer à Fortran?
Je cherchais des livres, les exemples qui me semblaient corrects étaient "Fortran 95/2003 Explained" et "Fortran For Scientists And Engineers" .
Je ne sais pas ce que vous en pensez?
Une autre chose que je me demande est quel compilateur dois-je utiliser? Je travaille sur une machine Windows 7 (64 bits).
J'espère que vous pourrez m'aider sur ce coup!
Donc, pour mon expérience avec la programmation:
- Matlab et maple ont été gentils avec mes premières introductions dans le monde de la programmation. Matlab est un programme dans lequel je suis plutôt bon, j'ai appris à travailler avec des boucles et comment les combiner pour créer des programmes plus efficaces. Maple est plus dans la phase de base (je sais comment chercher la solution aux intégrales simples etc.).
- Un an après cela, nous avons eu une introduction au C ++ en Visual Basic. Le professeur est en fait allé vite sur celui-ci, après 2 mois, nous discutions déjà des pointeurs et de l'héritage. Je suis capable d'écrire des programmes simples dans cette langue, seul le travail avec les classes reste une difficulté, mais je crois que c'est juste une question de pratique.
- Et un an plus tard, j'avais besoin d'apprendre Mathematica 8, ce qui m'améliore aussi beaucoup de nos jours.
J'ai donc un peu d'expérience en programmation, mais je ne dirai pas que c'est une quantité incroyable!
La raison pour laquelle je veux apprendre Fortran est principalement parce que vous ne pouvez pas faire de la physique théorique seule, vous devez tester vos théories et pour cela, vous devrez être en mesure d'écrire des programmes qui pourraient être en mesure de tester ces théories numériquement. J'ai entendu dire que Fortran est une sorte de langage à utiliser en matière de mathématiques numériques, donc je pense qu'il serait utile de connaître cette langue.
ps: quelle est la différence entre Fortran95 et Fortran 2003?
Réponses:
Je vais seconder la recommandation de Stali du livre de Chapman. J'ai appris du livre Fortman 90 de Chapman, et ce fut très utile. Il vous apprendra la langue Fortran. Cela ne vous apprendra pas sur les bons flux de travail pour la programmation, et pour cela, vous devriez chercher ailleurs après avoir appris du Fortran et programmé un peu.
La plupart des ressources en ligne pour vous aider avec la programmation Fortran seront basées sur Linux. De même, en informatique, la plupart des documents écrits seront destinés aux utilisateurs de Linux. Pour cette raison, je vous recommande fortement d'installer VirtualBox (ou une sorte de logiciel qui vous permet d'exécuter des systèmes d'exploitation virtuels), puis d'y installer une distribution Linux. Si vous n'avez jamais utilisé Linux auparavant, une distribution conviviale comme Ubuntu, Mint ou Fedora sera probablement votre meilleur choix. Ces distributions nécessitent un minimum de configuration si elles sont exécutées dans un environnement virtuel et disposent d'une bonne interface graphique pour vous aider à naviguer dans le système d'exploitation. Chacune de ces distributions possède un gestionnaire de packages que vous pouvez utiliser pour installer des logiciels supplémentaires. En utilisant le gestionnaire de paquets, vous pouvez installer gfortran.
Vous allez vouloir développer un logiciel dans un éditeur de texte (ou un IDE), donc cela vaut probablement la peine d'apprendre les bases de la ligne de commande. La menuiserie logicielle dispose de bonnes ressources pour cette tâche. (Avertissement: j'ai enseigné une partie d'un atelier de menuiserie logicielle.) Ensuite, vous devriez être en mesure d'aller de l'avant avec l'apprentissage de l'écriture de programmes simples et de les compiler sur la ligne de commande, puis d'apprendre à utiliser Makefile.
Le problème avec tout ce qui est basé sur Windows est que la plupart des documents en ligne que vous verrez en faisant de la science informatique vont supposer que vous utilisez Linux, et les conseils (si c'était bon au début) vont casser vers le bas, et vous coûte du temps. Cygwin est une couche API qui ajoute plus de fonctionnalités de type Linux, mais la correspondance avec Linux n'est pas parfaite, et les logiciels compilés pour Linux ne fonctionneront pas sur votre machine; vous devrez toujours obtenir des versions natives de Windows ou recompiler le logiciel pour Windows. Un compilateur Fortran natif Windows tel que Visual Fortran va coûter de l'argent, et vous aurez toujours le problème que la plupart des utilisateurs de Fortran et des scientifiques informatiques utilisent Linux pour leur développement logiciel, ce qui signifie que vous devrez aller de l'avant avec votre posséder. Cependant, si vous avez vraiment besoin dedistribuer des logiciels basés sur Windows pour une raison quelconque, alors il est logique de passer par tous les efforts pour comprendre comment utiliser quelque chose comme Visual Fortran.
la source
Je pense que le livre Metcalfe est un bon guide annoté des fonctionnalités modernes de Fortran, très utile si vous connaissez déjà une version antérieure du langage mais pas une bonne introduction à la programmation dans le langage.
Pour mon argent, le livre Chiver's and Sleightholme et le livre Brainerd sont tous deux assez bons, bien que je ne pense pas que ce soit aussi bon que le livre d'Ellis et al qui, malheureusement, n'a pas été mis à jour pour Fortran 2003 ou plus tard.
J'ai une forte aversion pour le livre Chapman. Je ne me souviens pas pourquoi je n'aimais pas tellement l'édition 90/95, donc je ne peux plus justifier cette aversion, vous pouvez la considérer comme un préjugé.
Mais le seul livre que je recommande sans hésitation est le livre d'Arjen Markus . Ce n'est probablement pas une introduction idéale pour quelqu'un qui essaie encore de comprendre les caractéristiques de base du langage, mais une fois que vous les maîtrisez, cela vaut son poids dans une substance précieuse.
Quant au compilateur à utiliser, j'utilise le compilateur Intel et j'en suis généralement satisfait. Il s'intègre à Visual Studio, ce qui pourrait être important pour vous. Le compilateur NAG a de meilleurs messages d'erreur et d'avertissement mais produit des exécutables plus lents (généralement et votre expérience peut différer). Le compilateur gfortran est gratuit et obtient assez de bonnes critiques, mais ce n'est pas celui que j'utilise. Si vous voulez en savoir plus, Polyhedron vous le dira.
la source
Pour les livres, je recommande "Modern Fortran Explained" par Metcalf / Reid / Cohen. C'est plus une référence qu'un manuel, mais cela vous servira bien si vous avez déjà été exposé à la programmation en général (avec disons C).
Outre ce livre, je recommande fortement le site Web d' Ondřej Čertík http://fortran90.org/ . Cela ne vous apprendra pas Fortran en premier lieu, mais cela vous fournira un ensemble de meilleures pratiques. Fortran permet différentes méthodes de programmation - il est compatible avec la descente après tout. Les meilleures pratiques qui y sont données vous aideront à développer un style Fortran cohérent et moderne. De plus, la FAQ qui s'y trouve vous intéressera.
la source
Je pense que le livre de Chapmans est plus convivial pour les débutants et une bonne référence. Les auteurs du second sont tous des experts mais je pense que le livre sera un bon ajout à votre bibliothèque à un stade ultérieur.
Pour commencer, je vous suggère de vous en tenir à Fortran 95, puis de passer plus tard (si nécessaire) à Fortran 2003. Le Fortran 95 est facile à apprendre (presque comme Matlab) et vous serez productif très rapidement.
Sous Linux, vous disposez d'un certain nombre de compilateurs Fortran gratuits (GNU, Solaris Studio, Open64, etc.) en plus d'un ensemble d'outils plus riche, par exemple, valgrind, gdb, gnuplot, (pour une visualisation rapide), svn / hg etc. les paquets précompilés, y compris les bibliothèques numériques (blas / lapack / netcdf / fftw, etc.) sont à distance (au moins sur Debian avec apt-get).
Sur Windows, vous pourriez être mieux avec cygwin car il vous donne un accès facile et rapide à certains des outils / bibliothèques ci-dessus en plus du compilateur GNU Fortran. Alors oui, allez sur cygwin.com et installez le package de base avec gfortran et un éditeur de choix (vim est bon). Ce devrait être un bon début. Plus tard, si vous avez autre chose, je vous suggère d'utiliser le paquet apt-cyg pour installer des trucs.
la source