Zen Pythona stwierdza w linii 14, że:
Chociaż na początku taki sposób może nie być oczywisty, chyba że jesteś Holendrem.
Czy to nawiązanie do słynnego holenderskiego informatyka Edsgera W. Dijkstry ?
Zen Pythona stwierdza w linii 14, że:
Chociaż na początku taki sposób może nie być oczywisty, chyba że jesteś Holendrem.
Czy to nawiązanie do słynnego holenderskiego informatyka Edsgera W. Dijkstry ?
Odpowiedzi:
Chociaż na początku taki sposób może nie być oczywisty, chyba że jesteś Holendrem.
odnosi się do poprzedniej linii:
Powinien być jeden - a najlepiej tylko jeden - oczywisty sposób na zrobienie tego.
Argumentowano, że ma to związek z przemyśleniami Dijkstry na temat projektowania języka, wyrażonymi w jego komentarzach do języka ZIELONEGO (wczesna ADA):
Pomyślałem, że to solidna zasada projektowania języka - w trosce o programowanie jako działalność człowieka - że pod każdym względem równoważne programy powinny mieć kilka możliwości różnych reprezentacji (możliwość różnic, które nie wykraczałyby poza arbitralny wybór identyfikatorów oraz dowolne porządkowanie składni nieuporządkowanych składniowo). W przeciwnym razie powstają zupełnie inne style programowania, co utrudnia utrzymanie, czytelność i to, co masz. Wymaga to od projektantów języków odwagi, by podjąć decyzję! Projektantom języka ZIELONEGO wielokrotnie brakowało tej odwagi i zapewniono wiele sposobów na zrobienie tego samego.
Ten cytat został użyty, aby wskazać antytezę między projektem Pythona (jest tylko jeden sposób, aby to zrobić) na projekt Perla ( Jest więcej niż jeden sposób, aby to zrobić )
Hasła, półoficjalne i nieoficjalne:
Perl: „Jest na to więcej niż jeden sposób”.
„Jest więcej sposobów na zrobienie tego niż możesz sobie przypomnieć, prawdopodobnie więcej niż możesz to rozpoznać”.
Python: „Powinien istnieć jeden - a najlepiej tylko jeden - oczywisty sposób”.
Przynajmniej próbowaliśmy wybrać właściwą drogę. (Widziałem prekursora tej uwagi przypisanej Dijkstrze: „Myślałem ...” - Edsger W. Dijkstra o GREEN, wczesnej wersji Ady)
Dalsze kopanie ujawniło ten stary wątek na liście mailingowej Python, odpowiednio nazwany „Dijkstra on Python”. Wątek koncentruje się wokół tego samego cytatu i różnic filozoficznych między Pythonem a Perlem.
Ale Holender rzeczywiście jest Guido van Rossum, jak ujawnia Tim Peters (autor Zen of Python) :
W kontekście „holenderski” oznacza osobę z Holandii lub osobę nasyconą kulturą holenderską (błagając o wybaczenie za to nadużycie słowa). Powiedziałbym po francusku, z wyjątkiem tego, że każdy Francuz, o którego pytanie zapytałem „jak zrobić płytką kopię listy?” nie odpowiedział
alist [:]
więc myślę, że to nie jest dla nich oczywiste. To musi być oczywiste dla Holendrów, ponieważ jest oczywiste dla Guido van Rossuma (twórcy Pythona, który jest Holendrem), a uporczywe plotki utrzymują, że każdy, kto publikuje na comp.lang.python, w rzeczywistości jest również Holendrem. Francuzi, których pytałem o kopiowanie listy, nie byli użytkownikami Pythona, co jest jeszcze bardziej dowodowe (jakby potrzebowało więcej).
Innymi słowy, „oczywiste” jest po części wyuczonym, kulturowym osądem. Tak naprawdę nie ma nic powszechnie oczywistego w żadnym języku komputerowym, pomimo złudzonych zwolenników. Niemniej jednak większość Pythona jest oczywista dla Holendrów. Inni czasem muszą trochę popracować nad nauką jedynego oczywistego sposobu w Pythonie, tak samo jak muszą popracować nad nauką doceniania tulipanów i personifikacji Woody Woodpecker.
Jestem prawie pewien, że to nawiązanie do Guido van Rossuma.
Jest twórcą i BDFL Pythona.