• [^] # Re: Une chose que j'ai oublié d'ajouter

    Posté par . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 3.

    Mouais, l'intérêt de standardiser un comportement indéfini me semble relativement limité (à part pour indiquer au programmeur qu'il ne doit pas faire ça).

    Ça permet de donner de la liberté à l'implémentation. Pour ce cas particulier j'en sais rien, mais des fois c'est plus simple/plus performant de faire d'une manière sur une plateforme et d'une autre sur une autre. C'est par exemple ce qu'il y a souvent sur l'ordre de traitement des paramètres d'une méthode (imagine int i = 0; foo(i++, ++i, i++);) certains langages définissent clairement comment cela sera traité d'autres n'indiquent rien sur l'ordre permettant d'imaginer un réordonnancement des instructions.

    d'une manière générale, il va être buggogène dans 99% des cas, et dans le 1% restant, tout programmeur normalement constitué va faire un modulo explicite, ne serait-ce que pour des raisons de lisibilité et de portabilité

    Pas nécessairement, dans du code qui va vraiment travailler sur du binaire il n'est pas rare d'utiliser cette propriété sans l'expliciter avec un modulo (mais oui moi aussi je préfère traper une erreur).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)