파이썬의 선의 14 번째 줄은 Dijkstra에 대한 참조입니까?


32

Python의 Zen 은 14 행에서 다음과 같이 말합니다.

비록 당신이 네덜란드 인이 아니라면 처음에는 그 방법이 분명하지 않을 수도 있습니다.

이것은 유명한 네덜란드 컴퓨터 과학자 Edsger W. Dijkstra에 대한 언급 입니까?


5
나는 옵션 C를 선택한다 : 그것은 "금지"가 더 정확하게 적용될 수있는 진술에 깊이 있고 신비로운 느낌을주기위한 시도이다.
Jerry Coffin

답변:


48

비록 당신이 네덜란드 인이 아니라면 처음에는 그 방법이 분명하지 않을 수도 있습니다.

이전 줄을 나타냅니다.

그것을하는 명백한 방법이 있어야합니다.

그리고 그것은 녹색 언어 (초기 ADA)에 대한 그의 의견 에서 표현 된 바와 같이 언어 디자인에 관한 Dijkstra의 생각과 관련이 있다고 주장되었습니다 :

나는 인간 활동으로서의 프로그래밍에 대한 염려가 아닌 언어 설계의 확고한 원칙이라고 생각했다. 모든 측면에서 동등한 프로그램은 다른 표현에 대한 가능성이 거의 없어야한다. 문법적으로 정렬되지 않은 구성 요소의 임의 순서). 그렇지 않으면 완전히 다른 스타일의 프로그래밍이 불필요하게 발생하여 유지 관리 성, 가독성 및 무엇을 방해 할 수 있습니다. 이것은 언어 디자이너들에게 그들의 마음을 만들 용기를 요구합니다! 녹색 언어의 디자이너들은 그 용기가 반복적으로 부족했으며, 같은 일을하는 여러 가지 방법을 제공했습니다.

따옴표가 사용되었습니다 정반대 지점 파이썬의 디자인 사이에 (그것을 할 수있는 하나의 방법이) 펄 ( 더 하나의 방법보다는 그것을이 수행하는 것 )

반 공식 및 비공식 슬로건 :

Perl : "한 가지 이상의 방법이 있습니다."

"기억할 수있는 것보다 더 많은 방법이있을 것입니다.

파이썬 : "한 가지 분명한 방법이 있어야합니다."

적어도 우리는 올바른 길을 택하려고했습니다. (나는 Dijkstra에 기인 한이 발언의 선구자를 보았다 : "나는 생각했다 ..."-Ada의 초기 버전 인 GREEN의 Edsger W. Dijkstra

더 깊이 파고 들면 파이썬 메일 링리스트 에서이 오래된 쓰레드가 드러났다 . 스레드는 동일한 인용문과 Python과 Perl의 철학적 차이점을 중심으로합니다.

그러나 Tim Peters (Python Zen 저자) 다음 과 같이 네덜란드는 실제로 Guido van Rossum입니다 .

문맥 상, "네덜란드어"란 네덜란드 사람 또는 네덜란드 문화에 깃든 사람 (단어 남용에 대한 용서를 구함)을 의미합니다. 내가 물어 본 모든 프랑스 인은 "어떻게 목록의 얕은 사본을 작성합니까?"를 제외하고는 프랑스어를 말했을 것입니다. 대답하지 못했습니다

목록[:]

그들에게는 분명하지 않은 것 같습니다. Guido van Rossum (Python의 제작자, Dutch 인)에게는 명백하기 때문에 네덜란드 인에게는 분명해야하며 comp.lang.python에 게시하는 모든 사람이 실제로 네덜란드 인이라는 지속적인 소문이 있습니다. 내가 목록을 복사하는 것에 대해 물었던 프랑스 사람들은 파이썬 사용자가 아니기 때문에 더 많은 증거가 필요합니다.

즉, "명백한"은 부분적으로 학습 된 문화적 판단입니다. 컴퓨터 언어에 대해 보편적으로 명백한 것은 없지만, 자랑스런 지지자에도 불구하고. 그럼에도 불구하고, 대부분의 파이썬은 네덜란드 인에게 명백합니다. 다른 사람들은 때때로에서 조금 일해야 학습 그들이 튤립을 감상 학습에 조금 일해야하는 것처럼, 파이썬에서 하나의 확실한 방법을, 우디 딱따구리 흉내.


1
잘 했어. 나는 당신의 응답에서 많은 것을 배웠습니다.
SomeKittens

네덜란드어는 컴퓨터 언어, 컴파일러 및 컴퓨터 과학 분야에서 전반적으로 흥미로운 첫 번째 주제를 가지고 있습니다. 네덜란드와 컴퓨터 과학에 대한 또 다른 흥미로운 인용문은 "알골 68의 인기가 암스테르담과의 거리에 반비례한다고 말했다"고 알골에 대한 귀도 반 로섬의 진술이다. 흥미 롭군
워렌 P

1
아주 노골적인 아니 었 음)
rocktheartsm4l

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.