• [^] # Re: Surprise

    Posté par . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.

    "+" à la place d'un "-", je veux bien comprendre que cela soit difficile à attraper statiquement, mais cela dépend aussi de comment tu écris ton contrat. Il y a des contrats ou tu utilises des propriétés à conserver, genre "f(a,b)=f(b,a)", cela permetrait d'attraper certaine erreur dans les équations. On pense aussi mettre une lib qui vérifie la dimension physique des opérations (cela n'aura pas le + à la place du -, certe).

    Le problème c'est les «il y a des», «cela permetrait», «on pense aussi». Cela ne couvre qu'une partie des erreurs. Il va toujours en rester et il faut bien pouvoir les debugger celles la.

    Et sur la masse total d'erreur ?

    Ce n'est pas vraiment imprtant. On doit surement pas être loin de la regle des 80/20 ici ausssi. C'est-à-dire 20% des bugs représentent 80% du temps de débuggage. Dans mon code, j'ai des assertion pour vérifier l'indicage des tableaux et autre conneries du même style, donc généralement tous ces bigs sont résolus très rapidement.

    Par contre, les bugs de logique me demandent souvent beaucoup de temps. Là ou en Lisaac je purais mettre un contrat, en C je peut mettre une assertion, donc la manière de faire est différente mais le résultat est proche.
    Mais quand il n'y a pas de contrat c'est beaucoup plus dur...

    Même si c'est cas ne représentent au final que 1% du nombre d'erreur, à eux seul ils peuvent représenter l'essentiel du temps de debuggage.

    C'est quelques minutes pour le compilateur au total. C'est supportable. Mais je suis d'accord que la série test/erreur n'est pas jouable avec des trucs trop long.

    Sur mes programmes, je monte rarement à plus de deux ou trois minutes de compilation, donc pour moi ce n'est pas vraiment un problème, mais il faut comprendre que des gens écrivent de très gros projets et là ça peut devenir très génant.

    Si tu compile LLVM et CLang par exemple (non ce n'est pas de la provoc de compiler une aure compilo que lisaac....) La première compile prend pas loin d'une heure. Par contre, une fois que c'est fait, juste modifier une fichier source, implique de ne recompiler que ce fichier et de refaire l'édition de liens, c'est pas instantané bien sûr, mais c'est très rapide.
    Tu ne refait une compilation globale avec optimisation inter-modules que pour une compilation finale.

    À mon avis, c'est le genre de truc indispensable si vous voulez que Lisaac perce pour de gros projets.