• [^] # Re: Yoda ?

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Python 3.8 : opérateur d’assignation, REPL async, Pickle v5 et plus. Évalué à 4.

    L'égalité marche toujours dans les deux sens.

    Je me doute. Mais quand tu manipules une variable, c'est elle qui est l'élément essentiel.

    En maths, tu as plus de mal avec "12 = 2*5+2" qu'avec "2*5+2 = 12" ?

    Justement, en math, combien de fois tu as écris sur ta copie 0 = x plutôt que x = 0 ? Si tu écris x = 0 (avec x dans le terme de gauche, donc), c'est parce que ce qui t'intéresse, c'est la variable. C'est ce que tu mentionnes en premier. Si je te donne une variable, tu peux avoir son contenu, ici 0. Mais si je te donne un 0, il y a une infinité de variables qui pourraient avoir cette valeur. Ce n'est pas bijectif. Là on est dans le cas de l'assignation et pas dans le test, mais c'est tellement similaire que même si l'opérateur de comparaison est commutatif, dans les faits, la partie qui m'intéresse je veux l'écrire en premier, donc à gauche de l'opérateur.

    Si c'est qu'une histoire de vocalisation, tu dois bien pouvoir te trouver une phrase qui te plaira.

    Bin non, je ne veux pas. C'est changer le mode de pensée du développeur pour contourner une difficulté du langage. C'est à la machine de s'adapter à l'humain, pas l'inverse. Le code machine, c'est pour l'ordinateur, moi je suis un humain et je veux du code lisible, sans avoir à m'adapter à une méthode de contournement bidon.

    Le code est avec des noms d'instructions en anglais, pour être quasiment lu comme de l'anglais,

    Dans beaucoup de cas les assertions utilisent cet ordre.

    Pour la même raison foireuse. C'est aux compilateurs ou analyseurs statiques de t'avertir des tournures dangereuses.