Ist die 14. Zeile von The Zen of Python ein Verweis auf Dijkstra?

32

Pythons Zen besagt in Zeile 14, dass:

Obwohl dieser Weg auf den ersten Blick nicht offensichtlich ist, es sei denn, Sie sind Holländer.

Ist dies ein Hinweis auf den berühmten niederländischen Informatiker Edsger W. Dijkstra ?

SomeKittens
quelle
5
Ich wähle Option C: Es ist meistens ein Versuch, Aussagen, auf die "banal" genauer angewendet werden könnte, ein Gefühl für das Tiefe und Geheimnisvolle zu vermitteln.
Jerry Coffin

Antworten:

48

Obwohl dieser Weg auf den ersten Blick nicht offensichtlich ist, es sei denn, Sie sind Holländer.

verweist auf die vorherige Zeile:

Es sollte einen - und am besten nur einen - offensichtlichen Weg geben, dies zu tun.

Und es wurde argumentiert, dass dies in Bezug auf Dijkstras Gedanken zum Sprachdesign steht, die in seinen Kommentaren für die GRÜNE Sprache (eine frühe ADA) zum Ausdruck gebracht wurden :

Ich hielt es für ein festes Prinzip der Sprachgestaltung - aus Sorge um das Programmieren als menschliche Aktivität -, dass in jeder Hinsicht gleichwertige Programme nur wenige Möglichkeiten für unterschiedliche Darstellungen haben sollten (Möglichkeit für Unterschiede, die idealerweise nicht über die willkürliche Auswahl von Bezeichnern hinausgehen) und die willkürliche Reihenfolge syntaktisch ungeordneter Komponenten). Ansonsten ergeben sich unnötigerweise völlig unterschiedliche Programmierstile, die die Wartbarkeit, Lesbarkeit und das, was Sie haben, beeinträchtigen. Dies erfordert von den Sprachdesignern den Mut, sich zu entscheiden! Den Designern der GRÜNEN Sprache hat es immer wieder an diesem Mut gefehlt, und sie haben mehrere Möglichkeiten zur Verfügung gestellt, um dasselbe zu tun.

Das Zitat wurde verwendet, um den Gegensatz zwischen Pythons Design (es gibt nur einen Weg, es zu tun) und Perls zu verdeutlichen (es gibt mehr als einen Weg, es zu tun ).

Slogans, halboffiziell und inoffiziell:

Perl: "Es gibt mehr als einen Weg, dies zu tun."

"Es gibt mehr Möglichkeiten, als Sie sich erinnern können, wahrscheinlich mehr, als Sie überhaupt erkennen können."

Python: "Es sollte einen - und am besten nur einen - offensichtlichen Weg geben, dies zu tun."

Zumindest haben wir versucht, den richtigen Weg zu finden. (Ich habe einen Vorfahren dieser Bemerkung gesehen, die Dijkstra zugeschrieben wird: "Ich dachte ..." - Edsger W. Dijkstra über GREEN, eine frühe Version von Ada)

Weiteres Graben enthüllte diesen alten Thread in einer Python-Mailingliste mit dem passenden Namen "Dijkstra on Python". Der Thread dreht sich um dasselbe Zitat und die philosophischen Unterschiede zwischen Python und Perl.

Aber der Holländer ist in der Tat Guido van Rossum, wie Tim Peters (Autor des Zen of Python) verrät :

Im Kontext bedeutet "Niederländisch" eine Person aus den Niederlanden oder eine Person, die von der niederländischen Kultur durchdrungen ist (und um Vergebung für diesen Missbrauch des Wortes bittet). Ich hätte Französisch gesagt, mit der Ausnahme, dass jede französische Person, die ich fragte: "Wie macht man eine flache Kopie einer Liste?" antwortete nicht

eine Liste[:]

Ich denke, das ist ihnen nicht klar. Es muss jedoch für die Holländer offensichtlich sein, da es für Guido van Rossum (Pythons Schöpfer, der Holländer ist) offensichtlich ist, und ein anhaltendes Gerücht besagt, dass jeder, der auf comp.lang.python schreibt, tatsächlich auch Holländer ist. Die Franzosen, die ich nach dem Kopieren einer Liste gefragt habe, waren keine Python-Benutzer, was noch beweiskräftiger ist (als ob es mehr brauchte).

Mit anderen Worten, "offensichtlich" ist zum Teil ein erlerntes kulturelles Urteil. Es ist wirklich nichts allgemein Offensichtliches an einer Computersprache, ungeachtet verblendeter Befürworter. Dennoch ist der größte Teil von Python für die Holländer offensichtlich. Andere müssen manchmal etwas lernen , wie es in Python offensichtlich ist, genauso wie sie etwas lernen müssen, wie man Tulpen und Woody-Woodpecker-Imitationen schätzt.

yannis
quelle
1
Gut gemacht. Ich habe viel aus Ihrer Antwort gelernt.
SomeKittens
Die Holländer haben einige sehr interessante Neuerungen in Computersprache, Compilern und Informatik im Allgemeinen. Ein weiteres interessantes Zitat über die Niederlande und die Informatik ist die Aussage von Guido van Rossum über Algol: "Es wurde gesagt, dass die Popularität von Algol 68 umgekehrt proportional [...] zur Entfernung von Amsterdam ist". Interessant.
Warren P
1
Naja das war nicht sehr explizit;)
rocktheartsm4l
16

Ich bin mir ziemlich sicher, dass es ein Hinweis auf Guido van Rossum ist.

Er ist der Schöpfer und BDFL von Python.

Kris Harper
quelle