L’histoire derrière l’introduction du pattern matching en Python
(ryanking13.github.io)-
La demande pour le pattern matching
-
L’histoire des idées autour du pattern matching
-
L’arrivée de la PEP 622
-
La controverse qui s’ensuit
-
PEP 622 v2
-
PEP 622 est morte, vive les PEP 634, 635, 636
-
Bonjour, pattern matching !
-
Une histoire qui n’est pas encore terminée
4 commentaires
Je ne savais pas qu’il y avait une telle histoire derrière, et j’ai vraiment pris beaucoup de plaisir à le lire.
En lisant la citation de l’article, « Le fait que
Point(x,0)n’appelle même pasPoint.__new__et n’aille pas non plus chercher une variable nomméex, mais prenne un sens entièrement nouveau, n’est pas intuitif », j’étais d’accord avec l’idée que la syntaxe de pattern matching ne convenait pas à Python. Mais après avoir lu les PEP 634 à 636, je me suis dit que finalement le pattern matching pouvait aussi très bien convenir.Les langages de la famille ML ont intégré le pattern matching dès leur conception, donc cela paraît naturel, mais en Python, comme
Pointest déjà utilisé comme un constructeur de classe, je pensais que ce serait complètement déroutant. Pourtant, en lisant les exemples de code dans les PEP, je n’ai pas du tout trouvé cela confus.C’est mon article, merci de l’avoir présenté.
Quand on cherche ce genre de coulisses, on se rend compte à quel point il est difficile de prendre des décisions sur des sujets où les avis sont fortement partagés.
Je ne comprenais pas bien pourquoi il y avait autant de discussions autour de l’ajout du pattern matching, mais cela m’a aidé à mieux comprendre. Merci pour ce bon article !!