• [^] # Re: switching cases finally

    Posté par . En réponse à la dépêche Python 3.10 est disponible. Évalué à 2. Dernière modification le 16 août 2021 à 00:03.

    Oui, tout comme ML, haskell, etc. Et sauf qu'il manque /juste/ l'étude de cas qui rend cet outil vraiment puissant, par exemple en vérifiant l'exhaustion des combinaisons (pour détecter, à la compilation, les bugs du à des cas non-traités).

    De plus, n'y a-t-il pas une contradiction avec l'adage "si ça vole comme un canard et que ça fait quack, alors c'est un canard" ? Comment fonctionne case Canard((_)) as obj: si l'objet n'est pas un canard mais vole comme un canard ? Après une lecture rapide de la PEP, je n'arrive pas à répondre à cette question. Je n'y trouve aucune mention de sub-typing ou de classe dérivée.

    Mon impression c'est qu'on est en train de rendre le langage python beaucoup plus complexe pour le faire ressembler à certains langages compilés, mais sans obtenir aucune aide que les compilateurs de ces langages offrent. En quelque sorte, on perd sur les 2 tableaux... Autant apprendre un langage de type scala, qui finalement offre une syntaxe très agréable (c'était finalement le principal argument qui a engendré la popularité de python) avec les avantages d'un compilateur fonctionnel de haut niveau qui possède aussi un très large éco-système de bibliothèques.