Je suis un étudiant en génie mécanique intéressé par le domaine de l'ingénierie aérospatiale où, me dit-on, Fortran est encore couramment utilisé.
Quelle version de Fortran dois-je investir mon temps pour apprendre?
Je suis un étudiant en génie mécanique intéressé par le domaine de l'ingénierie aérospatiale où, me dit-on, Fortran est encore couramment utilisé.
Quelle version de Fortran dois-je investir mon temps pour apprendre?
Réponses:
C'est un peu un terme impropre populaire qu'il existe une "version" de Fortran à connaître. À de rares exceptions près, les dernières normes (et compilateurs) Fortran conservent une excellente rétrocompatibilité avec les anciennes normes. C'est pour une bonne raison: peu de gens utiliseraient Fortran aujourd'hui sans les grandes quantités de code hérité encore utilisées. Autrement dit, un code Fortran77 conforme aux normes fonctionnera presque toujours avec les derniers compilateurs.
Vous devez apprendre à utiliser la version la plus moderne de la langue disponible. Le F2008 n'a peut-être rien ajouté de terrible à un débutant, mais l'introduction par le F2003 de concepts orientés objet est certainement un gros problème. "Modern Fortran Explained" est un bon point de départ, et "Scientific Software Design: The Object Oriented Way" est également assez bon pour réellement apprendre à le mettre en pratique.
De façon pragmatique, si vous allez travailler sur du code hérité (disons F77 ou plus tôt), à un moment donné, vous devrez apprendre certaines des choses qu'ils ont faites en raison d'un manque de fonctionnalités F90 +. Par exemple, si vous écrivez du code Fortran pour quelque chose, vous ne devriez jamais utiliser ce qu'on appelle un "bloc COMMUN", mais vous les verrez invariablement apparaître dans le code F77 que vous devrez peut-être utiliser.
Je ne recommanderais jamais à quelqu'un de commencer à travailler à Fortran sans au moins les jeux de fonctionnalités F90 / 95.
Cela dit, si vous ne connaissez pas bien la programmation dans une autre langue, vous trouverez probablement un consensus sur le fait que Fortran n'est pas la meilleure langue à apprendre en tant que première, même si vous recherchez l'aérospatiale. (Et je dis cela en tant que personne dans l'aérospatiale qui utilise Fortran régulièrement et l'a eu comme première langue).
Je suis en désaccord avec vous deux. C ++ et Python ne sont toujours pas aussi optimisés que FORTRAN. Je suis tout à fait d'accord pour dire que FORTRAN 90/95 est le minimum. Cependant, il est toujours utile d'utiliser d'autres versions plus modernes. Le défi avec FORTRAN est que si vous l'apprenez avant d'apprendre des langages orientés objet, c'est facile à comprendre. Il est beaucoup plus difficile d'apprendre si vous avez l'habitude de penser avec des objets. J'enseigne ici la classe de supercalcul et je force mes étudiants à utiliser FORTRAN. Cela les oblige à utiliser une logique différente dans la programmation. Ils ne l'aiment pas parce qu'il ne "pense" pas comme Python ou C ++. Tout dépend vraiment de ce que vous avez l'intention de faire et de l'importance de la parallélisation et des performances.