Чи 14-й рядок «Дзен Пітона» є посиланням на Діджкстру?


32

Зона Python в рядку 14 стверджує, що:

Хоча спочатку це може бути не очевидним, якщо ви не голландці.

Це посилання на відомого голландського комп'ютерного вченого Едсгера У. Дійкстра ?


5
Я вибираю варіант С: це здебільшого спроба надати відчуття глибокого та загадкового висловлювань, до яких «банальніші» можуть бути більш точно застосовані.
Джеррі Труну

Відповіді:


48

Хоча спочатку це може бути не очевидним, якщо ви не голландці.

стосується попереднього рядка:

Повинно бути один - і бажано лише один - очевидний спосіб це зробити.

І стверджується, що це посилається на думки Дейкстри щодо мовного дизайну, як це висловлено в його коментарях до ЗЕЛЕНОЇ мови (ранній ADA):

Я подумав, що це твердий принцип мовної розробки - без побоювання щодо програмування як людської діяльності-- що в усіх відношеннях еквівалентні програми повинні мати мало можливостей для різних уявлень (можливість відмінностей в ідеалі не виходить за межі довільного вибору ідентифікаторів і довільне впорядкування синтаксично не упорядкованих компонентів). Інакше абсолютно різні стилі програмування виникають без потреби, тим самим перешкоджаючи ремонтопридатності, читабельності та тому, що у вас є. Це вимагає від мовних дизайнерів сміливості скласти свою думку! Дизайнери ЗЕЛЕНОЇ мови неодноразово бракували цієї сміливості, і запропонували кілька способів зробити те саме.

Цитата була використана для вказівки антитези між дизайном Python (Існує лише один спосіб зробити це) на Perl ( Існує більше одного способу зробити це )

Слогани, напівофіційні та неофіційні:

Perl: "Існує більше ніж один спосіб зробити це".

"Існує більше способів зробити це, ніж ви можете запам'ятати. Напевно, більше, ніж ви навіть можете розпізнати".

Пітон: "Має бути один - і бажано лише один - очевидний спосіб зробити це".

Принаймні ми намагалися вибрати правильний шлях. (Я бачив прародителя цього зауваження, приписуваного Дейкстрі: "Я думав ..." - Едсгер В. Дійкстра на ЗЕЛЕНІЙ, рання версія Ада)

Подальше копання виявило цю стару нитку в списку розсилки Python, відповідним чином названому "Dijkstra на Python". Нитка зосереджена навколо тієї ж цитати, і філософські відмінності між Пітоном та Перлом.

Але голландці справді є Гідо ван Россум, як виявляє Тім Пітерс (автор "Дзен Пітона") :

У контексті "голландська мова" означає людину з Нідерландів або людину, пронизану голландською культурою (просити прощення за це зловживання цим словом). Я б сказав французькою мовою, за винятком того, що кожен французький, кого я запитав, "як зробити дрібну копію списку?" не вдалося відповісти

список[:]

тож я думаю, що для них це не очевидно. Це повинно бути очевидним для голландців, оскільки це очевидно для Гвідо ван Россума (творця Python, який є голландцем), і постійний слух стверджує, що кожен, хто публікує повідомлення на comp.lang.python, насправді також голландський. Французи, яких я запитував щодо копіювання списку, не були користувачами Python, що є ще більшим доказом (ніби йому потрібно більше).

Або, інакше кажучи, "очевидний" є частково вивченим, культурним судженням. Насправді немає нічого загально очевидного в будь-якій мові комп'ютера, не зважаючи на прихильників. Тим не менш, більша частина Python очевидна для голландців. Іншим часом доводиться трохи попрацювати над вивченням очевидного способу в Python, подібно до того, як їм доводиться трохи працювати над тим, щоб навчитися цінувати тюльпани та втілення Вуді Дятла.


1
Молодці. Я впевнено багато чого дізнався з вашої відповіді.
SomeKittens

У голландців є дуже цікаві перші роботи з комп’ютерної мови, компіляторів та загалом інформатики. Ще однією цікавою цитатою щодо голландської та інформатики є заява Гвідо ван Россума про алголь: "Казали, що популярність Algol 68 обернено пропорційна [...] відстані від Амстердаму". Цікаво.
Warren P

1
Ну, це було не дуже явно;)
rocktheartsm4l

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.