The Zen of Pythonの14行目は、ダイクストラへの参照ですか?


32

PythonのZenは14行目に次のように述べています。

オランダ人でない限り、その方法は最初は明らかではないかもしれませんが。

これは有名なオランダのコンピューター科学者エドガー・W・ダイクストラへの言及ですか?


5
私はオプションCを選択します。これは、「バナル」がより正確に適用される可能性のあるステートメントに、深く神秘的な感覚を与えるための試みです。
ジェリーコフィン

回答:


48

オランダ人でない限り、その方法は最初は明らかではないかもしれませんが。

前の行を参照します:

1つ-できれば1つだけ-明白な方法が必要です。

そして、それはグリーン言語(初期のADA)に対する彼のコメントで表現されているように、言語設計に関するダイクストラの考えに関連していると主張されてきまし

私は、人間の活動としてのプログラミングを気にすることなく、言語設計の確固たる原理だと考えました-あらゆる点で、同等のプログラムは異なる表現の可能性をほとんど持つべきではありません(理想的には識別子の任意の選択を超えない違いの可能性および構文的に順序付けされていないコンポーネントの任意の順序)。そうでなければ、まったく異なるスタイルのプログラミングが不必要に発生し、それによって保守性、読みやすさ、そしてあなたが持っているものが妨げられます。そのためには、言語設計者に決心する勇気が必要です!GREEN言語のデザイナーは繰り返しその勇気を欠いており、同じことを行うための複数の方法を提供してきました。

引用するために使用されてきたアンチテーゼポイント PerlのにPythonの設計(それを行うための唯一の方法があります)(間をそれを行うには複数の方法があります

スローガン、半公式および非公式:

Perl:「それを行う方法は複数あります。」

「覚えるよりももっと多くの方法があります。おそらくあなたが認識できる以上の方法があります。」

Python:「それを実行する明白な方法は1つ、できれば1つだけである必要があります。」

少なくとも正しい方法を選択しようとしました。(私はダイクストラに起因するこの発言の先駆者を見ました:「私は考えました...」-エダガーW.ダイクストラはグリーン、エイダの初期バージョンで)

さらに掘り下げると、この古いスレッドが適切に「Dijkstra on Python」という名前のPythonメーリングリストで明らかになりました。スレッドは、同じ引用とPythonとPerlの哲学的な違いを中心にしています。

しかし、ティムピーターズ(Python of Zenの著者)が明らかにしているように、オランダ人は確かにGuido van Rossumです。

文脈では、「オランダ語」とは、オランダの人、またはオランダの文化に染み込んでいる人を意味します(言葉の乱用の許しを請います)。「リストの浅いコピーをどのように作成しますか?」と尋ねたすべてのフランス人を除いて、私はフランス語を言ったでしょう。答えられなかった

リスト[:]

それは彼らには明らかではないと思います。ただし、オランダ人にとっては明らかなはずです。なぜなら、Guido van Rossum(Pythonの作成者、オランダ人)にとっては明らかであり、comp.lang.pythonに投稿するすべての人も実際にはオランダ人であるといううわさは持続しています。リストのコピーについて私が尋ねたフランス人はPythonユーザーではありませんでした。

または、言い換えれば、「自明」は部分的には学んだ文化的な判断です。コンピュータ言語について普遍的に明らかなことは何もありません。それでも、ほとんどのPythonはオランダ人にとって明らかです。その他は時々で少し仕事をしなければならない学習彼らはチューリップを鑑賞する学習で少し仕事をしなければならないのと同様に、Pythonで1つの明白な方法を、とウッディー・ウッドペッカーの偽装。


1
よくやった。確かにあなたの反応から多くを学びました。
SomeKittens

オランダ人は、コンピューター言語、コンパイラー、一般的なコンピューターサイエンス全般において、非常に興味深い最初の人物を持っています。オランダとコンピューターサイエンスに関する別の興味深い引用は、アルゴルに関するGuido van Rossumの声明です。「アルゴル68の人気は、アムステルダムからの距離に反比例すると言われました」。面白い。
ウォーレンP

1
まあそれは非常に明示的ではなかった;)
rocktheartsm4l

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.