ue12-p21 / python-advanced

0 stars 5 forks source link

Argument des fonctions, canal historique #13

Open parmentelat opened 3 years ago

parmentelat commented 3 years ago

follow-up of https://github.com/ue12/python-advanced/discussions/17

parmentelat commented 3 years ago

résumé: revoir le quiz sur le passage d'arguments

le truc c'est que les librairies se sont mises à utiliser le keyword-only (canal historique peut-être, mais keyword-only c'est là ahem depuis 3.0 ça fait quand même 10 ans..) aussi on est un peu obligé d'en parler pour que les élèves sachent interpréter ces signatures-là

on n'insiste pas du tout par contre sur les paramètres positional-only (avec le /) qui date de la 3.8 et qui est en effet d'un usage encore très confidentiel

boisgera commented 3 years ago

le truc c'est que les librairies se sont mises à utiliser le keyword-only (canal historique peut-être, mais keyword-only c'est là ahem depuis 3.0 ça fait quand même 10 ans..) aussi on est un peu obligé d'en parler pour que les élèves sachent interpréter ces signatures-là

Python est en train de devenir baroque (depuis ~10 ans) au sens où il y a désormais 15 façons de faire la même chose et une multiplicité de constructions au rapport coût/bénéfice de plus en plus défavorable. L'adaptation professionnelle classique par rapport à un langage baroque (exemple archétypique: C++), c'est de développer des guidelines en interne sur ce qu'on "a le droit" de faire pour lutter contre la complexité croissante (aka "the good parts").

Je ne sais pas interpréter ces signatures ; je ne suis jamais tombé sur une librairie qui les utilise. Si cela doit arriver, cela me fera peut-être reconsidérer la pertinence de son usage (comme un certain nombre d'autres "fonctionnalités") ; si malgré tout le rapport coût / bénéfice est favorable ou je suis contraint de l'utiliser, j'apprendrai cette n-ième construction à ce moment-là. Je crois que je m'en remettrai ...

Il me semble crucial de faire des choix dans ce qu'on enseigne et encore plus dans ce qu'on n'enseigne pas, sauf à risquer que même l'important ne passe pas du tout vu le facteur de dilution. Un truc que je ne connais pas, ou plus encore que je connais et que je juge secondaire (ou nuisible) pour ma pratique personnelle, c'est un assez gros red flag ... (Et je pense que ça devrait être vrai pour tous les enseignants s'ils ont un niveau d'expertise raisonnable de Python : l'intersection des sous-ensembles de Python pratiqués par chacun devrait êre une référence intéressante)