• [^] # Re: Le Fortran

    Posté par (site web personnel) . En réponse à la dépêche Décès du père du Fortran et de la notation BNF. Évalué à 9.

    > mais aujourd'hui on peut se reposer sur une syntaxe plus claire et
    > des paradigmes intéressants

    Tu as lu du Fortran 95 ? Si tu sais lire de l'Ada ou du Pascal, le Fortran est quasiment pareil. Pas d'accolade {} ni de parenthèses () à tour de bras, des beaux "begin ... end".

    Ensuite, j'aime beaucoup les langages de scripts mais on ne peut pas comparer le Fortran avec le Ruby. Cela n'a rien à voir. En Fortran, tout a été fait pour programmer en adressage statique, tous les passages de paramêtres se font par adresse, les fonctions ne sont pas récursive par défauts. Ce n'est pas pour se faire plaisir, c'est une question de performance et de parallèlisme.

    OCaml est très bien mais un non informaticien arrive-t-il a programmer dans ce langage ? Et quelles sont les performances dOCaml dans le calcul parallèle ?

    Fortran est un langage spécialisé dans le calcul scientifique. Si il était si mauvais que cela, il aurait été remplacé depuis longtemps. Or c'est un des rares langages de la préhistoire qui soit encore là et qui a su évoluer en profondeur.

    J'ai été il y a quelques temps à un séminaire sur la performance, notament sur la problématique de la machine pétaflop que les constructeurs envisagent pour peu.

    Tu fait un programme et tu le fait tourner sur 10 coeurs et tu regarde sa performance par rapport à un coeur. Tu fait de même avec 100 ou 1000 coeurs. D'après le conférencier (et mes souvenirs), les programmes utilisant OpenMP tiennent bien entre 10 et 100 coeurs. Entre 100 et 1000 coeurs, les programmes qui tiennent la charge utilisent généralement MPI. Très peu de programme dépasse les 1000 coeurs sans s'effrondrer. Or il est envisagé bien plus de 1000 coeurs pour une machine pétaflop.

    Les constructeurs travaillent énormément pour arriver à faire une machine pétaflop mais, pour qu'une application puisse tirer le maximum d'une telle machine, il faut d'après changer notre manière de coder.

    Si tu regardes du coté de Fortran 2008, il y a justement cette problèmatique du calcul matriciel parallèle au coeur des extensions.

    Je veux bien, Ruby s'est très bien mais c'est pas avec Ruby que tu calcule la météo du lendemain, ni que tu fait une prédiction pour les 50 ans qui viennent du réchauffement climatique, ou que tu calcule la propagation des ondes sismiques dans un bassin aluvionnaire entouré de montages (cas intéressant car il y a des phénoménes d'amplification du à la géométrie et à la composition des sols).

    Bref, il est idiot de vouloir programmer un site web dynamique en Fortran. De même, ne demandons pas aux langages de script de faire tourner un calcul sur une machine Itanium à 4096 coeur.

    Je trouve qu'il y a de plus en plus d'offre de compilateur Fortran 90 (95) sur le marché. Ma prédiction est que vu les problèmes écologiques à venir, le Fortran n'est pas près de prendre sa retraite.