La 14a linea di The Zen of Python è un riferimento a Dijkstra?


32

Lo Zen di Python afferma alla riga 14 che:

Anche se in quel modo all'inizio potrebbe non essere ovvio a meno che tu non sia olandese.

È un riferimento al famoso scienziato informatico olandese Edsger W. Dijkstra ?


5
Scelgo l'opzione C: è principalmente un tentativo di impartire un senso del profondo e misterioso a dichiarazioni alle quali "banale" potrebbe essere applicato con maggiore precisione.
Jerry Coffin,

Risposte:


48

Anche se in quel modo all'inizio potrebbe non essere ovvio a meno che tu non sia olandese.

si riferisce alla riga precedente:

Dovrebbe esserci uno - e preferibilmente solo un - modo obsoleto di farlo.

Ed è stato affermato che è in riferimento ai pensieri di Dijkstra sul design del linguaggio espressi nei suoi commenti per il linguaggio GREEN (un primo ADA):

Ho pensato che fosse un fermo principio di progettazione del linguaggio - preoccupante per la programmazione come attività umana - che sotto tutti gli aspetti programmi equivalenti avrebbero poche possibilità per rappresentazioni diverse (possibilità che le differenze idealmente non vadano oltre la scelta arbitraria di identificatori e l'ordinamento arbitrario di componenti sintatticamente non ordinati). Altrimenti sorgono inutilmente stili di programmazione completamente diversi, ostacolando in tal modo la manutenibilità, la leggibilità e ciò che hai. Ciò richiede ai progettisti del linguaggio il coraggio di prendere una decisione! I progettisti del linguaggio GREEN hanno ripetutamente mancato quel coraggio e hanno fornito molteplici modi di fare la stessa cosa.

La citazione è stata usata per indicare l'antitesi tra il design di Python (C'è solo un modo per farlo) a Perl ( C'è più di un modo per farlo )

Slogan, semi-ufficiali e non ufficiali:

Perl: "C'è più di un modo per farlo."

"Esistono più modi per farlo di quanto ricordi, probabilmente più di quanto tu possa persino riconoscere."

Python: "Dovrebbe esserci uno - e preferibilmente solo uno - un modo ovvio per farlo."

Almeno abbiamo provato a scegliere la strada giusta. (Ho visto un progenitore di questa osservazione attribuito a Dijkstra: "Ho pensato ..." - Edsger W. Dijkstra su GREEN, una prima versione di Ada)

Ulteriori ricerche hanno rivelato questo vecchio thread in una mailing list di Python, appropriatamente chiamata "Dijkstra on Python". Il thread è incentrato sulla stessa citazione e sulle differenze filosofiche tra Python e Perl.

Ma l'olandese è davvero Guido van Rossum, come rivela Tim Peters (autore dello Zen di Python) :

Nel contesto, "olandese" significa una persona dei Paesi Bassi, o uno intriso di cultura olandese (chiedendo perdono per quell'abuso della parola). Avrei detto francese, tranne per il fatto che ogni persona francese a cui ho chiesto "come si fa a fare una copia superficiale di un elenco?" non ha risposto

una lista[:]

quindi immagino che non sia ovvio per loro. Deve essere ovvio per gli olandesi, dal momento che è ovvio per Guido van Rossum (il creatore di Python, che è olandese), e una voce persistente sostiene che tutti coloro che pubblicano su comp.lang.python sono in realtà anche olandesi. I francesi a cui ho chiesto di copiare un elenco non erano utenti di Python, il che è ancora più prova (come se avesse bisogno di più).

O, in altre parole, "ovvio" è in parte un giudizio culturale appreso. Non c'è davvero nulla di universalmente ovvio in nessun linguaggio informatico, nonostante i sostenitori illusi. Tuttavia, la maggior parte di Python è ovvia per gli olandesi. Altri a volte devono lavorare un po 'per imparare nell'unico modo ovvio in Python, così come devono lavorare un po' per imparare ad apprezzare i tulipani e le imitazioni di Woody Woodpecker.


1
Molto bene. Ho sicuramente imparato molto dalla tua risposta.
SomeKittens,

Gli olandesi hanno alcune prime scoperte molto interessanti in linguaggio informatico, compilatori e informatica in generale. Un'altra citazione interessante sull'olandese e sull'informatica è la dichiarazione di Guido van Rossum sull'algol: "si diceva che la popolarità dell'Algol 68 fosse inversamente proporzionale alla [...] distanza da Amsterdam". Interessante.
Warren P

1
Beh, non era molto esplicito;)
rocktheartsm4l

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.