• # interesting alternative programs

    Posté par . En réponse à la dépêche Langages et performances : les Français à l'honneur !. Évalué à 7.

    > - il faut bien identifier le besoin : les logiciels ont rarement besoin d'une empreinte mémoire optimisée, ou de performances aux stéroïdes. Il suffit de considérer la grande quantité de logiciels donnant pleinement satisfaction écrit dans les langages de script les plus populaires.
    mmm, j'ajouterai même que les aspects "il faut utiliser l'agortithme tralali tralala" pénalisent les langages qui utilisent les tournures idiomatiques et autres constructions particulières à gogo. Typiquement sur le 1er test (ackermann donc) faut quand même noter qu'à côté du gagnant:
    OCaml 0.11 516 0.11 6
    en 11 1/100èmes de secondes on trouve tout de même:
    C gcc #2 0.07 10,656 0.07 54
    C Intel #2 0.07 188 0.07 54
    Perl #3 0.07 1,464 0.07 8
    les 3 en 7 1/100èmes de secondes, ce qui est remarquable.
    Ces dernières versions ne respectent pas à 100% la règle du jeu, mais quand même...

    Après il est vrai que si on ne s'impose pas de suivre les mêmes algorithmes on risque de tester les algos plutôt que le langage lui-même. Moi j'aurais eu tendance à autoriser tous les coups. Mais l'approche du test est intéressante car au fond, l'expérience montre que ce qui fait souvent la lenteur des langages de script c'est qu'ils sont parfois utilisés "comme si c'était du C". Je veux dire par là que souvent la transition d'un langage en un autre se résume à un changement de syntaxe et ne s'accompagne pas (en tous cas c'est ma démarche naturelle si je ne m'impose pas de faire les choses "comme il faut") des changements de méthodologie, de paradigmes, qui sont pourtant essentiels.

    Cela se traduit par exemple par "vas-y que je te fais un tri à la mimine avec un for 100% scripté" alors qu'il existe des constructions qui permettent de s'en débarasser en une ligne, avec un temps d'exécution divisé par 100. Cet aspect plombant les performances des langages de script dans le monde de la vraie vie, il n'est peut-être pas idiot que ça ressorte quand-même dans le test. Enfin bon pour un puriste tout de même on se dit que s'imposer de faire un programme en Perl en utilisant "cette méthode là et pas une autre" c'est vraiment marcher sur la tête. TIMTOWTDI qu'y disait.