La 14e ligne du Zen of Python fait-elle référence à Dijkstra?

32

Le Zen de Python déclare à la ligne 14 que:

Bien que cela ne soit pas évident au premier abord, sauf si vous êtes néerlandais.

Est-ce une référence au célèbre informaticien néerlandais Edsger W. Dijkstra ?

Des chatons
la source
5
Je choisis l'option C: c'est surtout une tentative de donner une impression de profondeur et de mystère aux déclarations auxquelles "banal" pourrait être appliqué avec plus de précision.
Jerry Coffin

Réponses:

48

Bien que cela ne soit pas évident au premier abord, sauf si vous êtes néerlandais.

fait référence à la ligne précédente:

Il devrait y avoir une - et de préférence une seule - manière évidente de le faire.

Et il a été avancé que cela faisait référence aux réflexions de Dijkstra sur la conception de la langue telles qu'elles étaient exprimées dans ses commentaires pour la langue VERTE (un ancien ADA):

Je pensais que c'était un principe ferme de conception du langage - par souci de programmation en tant qu'activité humaine - que, à tous égards, les programmes équivalents devraient avoir peu de possibilités de représentations différentes (possibilité de différences ne dépassant pas idéalement le choix arbitraire d'identificateurs et l'ordre arbitraire des composants syntaxiquement non ordonnés). Sinon, des styles de programmation complètement différents surviennent inutilement, entravant ainsi la maintenabilité, la lisibilité et ce que vous avez. Cela demande aux concepteurs de langage le courage de se décider! Les concepteurs de la langue VERTE ont à plusieurs reprises manqué de courage et ont proposé plusieurs façons de faire la même chose.

La citation a été utilisée pour pointer l'antithèse entre la conception de Python (il n'y a qu'une seule façon de le faire) à Perl (il y a plus d'une façon de le faire )

Slogans, semi-officiels et non officiels:

Perl: "Il y a plus d'une façon de le faire."

"Il y a plus de façons de le faire que vous ne vous en souvenez, probablement plus que vous ne pouvez même le reconnaître."

Python: "Il devrait y avoir une - et de préférence une seule - manière évidente de le faire."

Au moins, nous avons essayé de choisir la bonne voie. (J'ai vu un ancêtre de cette remarque attribuée à Dijkstra: "Je pensais ..." - Edsger W. Dijkstra sur GREEN, une première version d'Ada)

Des recherches plus approfondies ont révélé ce vieux fil sur une liste de diffusion Python, nommée de manière appropriée "Dijkstra on Python". Le fil est centré autour de la même citation et des différences philosophiques entre Python et Perl.

Mais, le Néerlandais est bien Guido van Rossum, comme le révèle Tim Peters (auteur du Zen of Python) :

Dans le contexte, "néerlandais" signifie une personne des Pays-Bas, ou une personne imprégnée de la culture néerlandaise (implorant le pardon pour cet abus du mot). J'aurais dit français, sauf que chaque Français à qui j'ai demandé "comment faire une copie superficielle d'une liste?" n'a pas répondu

une liste[:]

donc je suppose que ce n'est pas évident pour eux. Cela doit être évident pour les Néerlandais, car il est évident pour Guido van Rossum (le créateur de Python, qui est néerlandais), et une rumeur persistante maintient que tous ceux qui publient sur comp.lang.python sont en fait également néerlandais. Les Français que j'ai interrogés sur la copie d'une liste n'étaient pas des utilisateurs de Python, ce qui est encore plus de preuve (comme s'il en fallait plus).

Ou, en d'autres termes, «évident» est en partie un jugement culturel savant. Il n'y a vraiment rien d'universellement évident dans un langage informatique, malgré les partisans trompés. Néanmoins, la plupart de Python est évident pour les Néerlandais. D'autres doivent parfois travailler un peu pour apprendre d' une manière évidente en Python, tout comme ils doivent travailler un peu pour apprendre à apprécier les tulipes et les imitations de Woody Woodpecker.

Yannis
la source
1
Bien joué. J'ai certainement beaucoup appris de votre réponse.
SomeKittens
Les Néerlandais ont des premières très intéressantes dans le langage informatique, les compilateurs et l'informatique en général. Une autre citation intéressante sur les Néerlandais et l'informatique est la déclaration de Guido van Rossum sur algol: "il a été dit que la popularité d'Algol 68 était inversement proportionnelle à [...] la distance d'Amsterdam". Intéressant.
Warren P
1
Eh bien, ce n'était pas très explicite;)
rocktheartsm4l
16

Je suis presque sûr que c'est une référence à Guido van Rossum.

Il est le créateur et BDFL de Python.

Kris Harper
la source