• [^] # 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é à 2. Dernière modification le 12 novembre 2019 à 19:01.

    C'est un super mauvais exemple : tu as des langages qui inversent l'affectation.

    Et ? Le fait qu'un langage implémente cela dans sa syntaxe validerait cette approche. Dans ce cas les créateurs du brainfuck ont validé plein de choses. Ensuite il y a une différence entre la syntaxe d'un langage (obligatoire) et une convention qu'on est libre d'adopter ou pas.

    Il y a un moment où il faut travailler la plasticité de son cerveau aussi. Se créer des biais et passer temps à les maintenir ça n'a rien de sain.

    C'est cette inversion d'opérandes qui est un bias pour compenser la mauvaise utilisation du langage...

    Toi qui prenais l'exemple des Texas Instrument, j'ai utilisé une HP48 et utilisé en notation polonaise inversé (RPN). C'est une approche avec laquelle j'ai complètement adhéré (et à laquelle j'adhère toujours), et là pour le coup c'est vraiment une feature qui mérite le changement de mode de raisonnement.

    Mais là on parle d'une convention comme méthode de contournement pour un problème pour lequel le compilo remonte déjà un warning, et un -Werror te remontera donc obligatoirement tous les cas problématiques:

     ../main.c:11:9: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
     if (i = 0)
     ^
    

    Le compilo te suggère de doubler les parenthèses pour expliciter le fait que oui, tu souhaites utiliser le résultat de cette affectation comme valeur pour ton test. Pas besoin de plus.