• # Sémantiquement

    Posté par (site web personnel) . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.

    D'un point de vue sémantique, une erreur qu'est-ce que c'est ?

    Une erreur est un comportement non désiré du programme par rapport à la spécification. Elle peut avoir plusieurs sources :

    - Les données ne sont pas exactement structurée comme prévu
    - Une erreur de logique traine dans le code
    - La conception architectural est mal pensé (bugs les plus graves)
    - ...

    Les erreurs que l'on rencontre dans notre métier, sont essentiellement du à la sémantique opérationelle des langages de programmation que l'on utilise.
    Ils se réduisent tous à une sémantique simple :
    - Transfert d'une donnée en mémoire vers un autre endroit
    - Calcul arithmétique sur une donnée en mémoire
    - Test conditionnel sur l'état d'une donnée en mémoire.

    Avec ça, on fait tout (langage procédurales, objets, fonctionnel, à contraintes, ...

    La logique devient bien vite énorme, et l'équation grandissant, le risque d'avoir un problème non prévu augmente, puisque le nombre d'état augmente tout autant.

    Qu'est-ce qu'une fonction ? Un outil permettant de rendre déclaratif un sous ensemble du programme, de sorte à découper la complexité en petit bout pour pouvoir l'aborder.
    Il arrive souvent que l'on croit que le code est déclaratif, voire commutatif (ie l'ordre d'exécution de 2 fonctions n'est pas important), et se rendre compte qu'en fait, non..

    Tout ça pour dire, que même avec des outils du genre exceptions, contrats, qui ont chacun leur avantages et inconvéniant, on attaquera jamais le noeud du problème.

    Le noeud, c'est de s'élever sémantiquement avec un langage ne se réduisant plus à la sémantique décrite plus haut, mais se rapprochant plus d'un langage de spécification déclaratif.

    Quoi ? J'en parlerai bientôt en ces pages.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker