Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

[Calcul scientifique] Quelle version de Fortran utilisez-vous pour vos développements ?
Quel facteur vous incite à rester sur cette version ?

Le , par dourouc05

0PARTAGES

6  0 
Quelle version de Fortran utilisez-vous ?
Fortran est l'un des plus vieux langages de programmation. Apparu en 1957, son objectif était principalement de faciliter les simulations numériques sur les ordinateurs alors naissant : son nom fut l'acronyme de formula translator. À travers les âges, il a su évoluer tout en gardant la compatibilité avec le code existant — maintenant à travers presque soixante ans.

La quantité de code existant et son adaptation au calcul scientifique font que ce langage reste aujourd'hui encore très utilisé dans certains domaines. Il n'empêche que le code écrit actuellement ne l'est plus du tout comme aux débuts du langage (et de l'informatique, au passage) : le langage a évolué, tout comme les possibilités de l'informatique en général.

La principale révolution eut lieu entre les versions 77 et 90, avec l'abandon du format fixe : la position des caractères sur une ligne n'a plus d'importance ; également, les identificateurs ne sont plus limités à six caractères ! La version 2003 a apporté la programmation orientée objet. Les diverses versions intermédiaires et ultérieures ont apporté des changements moins fondamentaux, mais tout aussi importants, notamment pour le calcul scientifique et l'optimisation du code.

La dernière version, Fortran 2008, n'est pas toujours complètement implémentée par les compilateurs : GNU Fortran n'implémente que partiellement Fortran 2003 et 2008, PathScale EKOPath complètement, Intel Fortran une bonne partie de Fortran 2008 et quelques extensions de Fortran 2015, la nouvelle version de la norme (dont la publication est prévue en 2018).

Quelle version de Fortran utilisez-vous actuellement ?
Quel facteur limite l'utilisation de versions plus récentes : un manque d'intérêt pour les nouvelles fonctionnalités ou une compatibilité insuffisante de la part des compilateurs ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Sylvain Bergeron
Modérateur https://www.developpez.com
Le 08/12/2015 à 16:05
J'ai développé une application Fortran pour faire des évaluations d'avantages sociaux. Le code est en Fortran 95 (donc pas POO), mais la structure du code est très près de la POO : Chaque type de donnée est dans son module propre, avec les méthodes associées, et des interfaces faisant que les méthodes ont des noms génériques (ex: Calc(), IndexOf(), ...). Le tout évidemment sans héritage, bien que des types de base aient été membres de type plus évolués.

Le résultat final est une application constituée de nœuds et très orientée sur les données, et non une application procédurale.

Quelle version de Fortran utilisez-vous actuellement ?

Fortran 2003

Quel facteur limite l'utilisation de versions plus récentes : un manque d'intérêt pour les nouvelles fonctionnalités ou une compatibilité insuffisante de la part des compilateurs ?

Manque de projet ! Depuis quelques années je fais beaucoup plus d'entretien que de développement.

Un petit commentaire sur les version 2003 et 2008 : J'ai lu sur un forum (Intel ou comp.lang.fortran) que la demande est plus forte pour Fortran 2008 (coarray) que pour Fortran 2003 (POO).
1  0 
Avatar de Nozio
Candidat au Club https://www.developpez.com
Le 07/12/2015 à 13:55
J'utilise du Fortran 95, pour la simplicité de sa syntaxe et la déallocation automatique des tableaux dynamiques.
0  0 
Avatar de Metalman
Membre expert https://www.developpez.com
Le 07/12/2015 à 14:21
Je n'utilise pas FORTRAN, mais j'ai tout de même une question : est-ce que la POO a vraiment un intérêt en FORTRAN ? (et en COBOL... vu que celui-ci j'en ai un peu tapé)
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 07/12/2015 à 14:41
Citation Envoyé par Metalman Voir le message
Je n'utilise pas FORTRAN, mais j'ai tout de même une question : est-ce que la POO a vraiment un intérêt en FORTRAN ? (et en COBOL... vu que celui-ci j'en ai un peu tapé)
Suffisamment pour rédiger des livres sur le sujet : http://dl.acm.org/citation.cfm?id=2018862. L'utilité est, comme ailleurs, de structurer son code d'une manière facile à comprendre. Pourquoi faire une ségrégation du code scientifique ?
0  0 
Avatar de Nozio
Candidat au Club https://www.developpez.com
Le 07/12/2015 à 14:49
A titre personnel, je n'ai pas besoin de faire de l'objet puisque ce ne sont que de petits codes persos pour lesquels penser fonctionnel est plus simple. Je dirais que ça dépend du contexte dans lequel tu veux déployer ton code.
0  0 
Avatar de Metalman
Membre expert https://www.developpez.com
Le 07/12/2015 à 15:34
Citation Envoyé par dourouc05 Voir le message
Suffisamment pour rédiger des livres sur le sujet : http://dl.acm.org/citation.cfm?id=2018862. L'utilité est, comme ailleurs, de structurer son code d'une manière facile à comprendre. Pourquoi faire une ségrégation du code scientifique ?
Rédiger des livres n'est pas vraiment une preuve... beaucoup d'auto-biographies nous le démontrent

Mais bref, je voulais un exemple concret (et/ou une explication plus complète).
J'ai toujours été ultra-sceptique quant à la POO.
Sur certains langages construits dans des paradigmes/époques très différent.e.s, je ne comprends pas l'utilité d'ajouter la couche objet.
0  0 
Avatar de Issam
Membre confirmé https://www.developpez.com
Le 07/12/2015 à 16:21
Citation Envoyé par Metalman Voir le message
Sur certains langages construits dans des paradigmes/époques très différent.e.s, je ne comprends pas l'utilité d'ajouter la couche objet.
Sceptique a la POO ?!!
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 07/12/2015 à 16:36
Citation Envoyé par Metalman Voir le message
je voulais un exemple concret (et/ou une explication plus complète).
Un exemple : un code SPH. http://orbi.ulg.ac.be/handle/2268/156166 (voir la section 4.2 pour les détails de l'approche orientée objet, encore un poil dans la conclusion). Là, l'avantage est d'avoir un code structuré et plus facile à comprendre pour des extérieurs, qui peuvent alors adapter le code à leurs besoins. Cependant, la notion de "didactique" s'applique à l'utilisation du code, selon l'auteur — il n'en vante pas les mérites pour ceux qui plongent directement dans le code.

http://dl.acm.org/citation.cfm?id=16...TOKEN=90447581 devrait expliquer (enfin, c'est dit dans le résumé) comment exploiter l'orienté objet pour "gérer la complexité", notamment en séparant clairement chaque modèle physique et la logique qui les couple.

À titre personnel, il m'est beaucoup plus facile d'écrire un code orienté objet — même sans toutes les simplifications syntaxiques généralement offertes par ces langages — quand il devient relativement imposant, c'est-à-dire au moins dans le millier de lignes.
0  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 07/12/2015 à 17:22
Citation Envoyé par Metalman Voir le message
mais j'ai tout de même une question : est-ce que la POO a vraiment un intérêt en [...] COBOL...
La POO a peut-être un intérêt en terme de structuration d'un projet... mais pour avoir travaillé dans une banque où l'on fait du COBOL je peux t'assurer que personne ne fait de la POO avec. Ce qui serait drôle ce serait de créer tout plein de projets stratégiques en COBOL orienté objet pour que plus personne ne puisse avoir la main dessus, la banque va s'écrouler
0  0 
Avatar de Metalman
Membre expert https://www.developpez.com
Le 08/12/2015 à 0:47
Je regarderai les liens, promis.

Mais je suis effectivement dans le cas de Gugelhupf : j'ai un peu trainé dans les banques, et la POO en COBOL là-dedans... ça n'a aucun intérêt "à cause" du paradigme mainframe/zOS et des batchs (on reste aligné sur les colonnes, et c'est tout : les structures/enregistrements suffisent à gérer cela, pas besoin d'héritage).
Avant cela j'étais sur du C, et je n'ai "jamais" accroché à la POO malgré beaucoup de tentatives scolaires et personnelles (dév en groupe de JV).

Bref, c'est pour cela que je voulais un exemple concret pour le cas du FORTRAN, qui est plus ou moins de la même génération que le COBOL, mais dont l'environnement a évolué très différemment dans le temps (malgré l'origine commune pour la plateforme mainframe).
0  0