Là dòng thứ 14 của The Zen of Python có liên quan đến Dijkstra không?


32

Trạng thái Zen của Python trên dòng 14 rằng:

Mặc dù cách đó ban đầu có thể không rõ ràng trừ khi bạn là người Hà Lan.

Đây có phải là một tham chiếu đến nhà khoa học máy tính nổi tiếng người Hà Lan Edsger W. Dijkstra ?


5
Tôi chọn tùy chọn C: chủ yếu là một nỗ lực truyền đạt ý nghĩa sâu sắc và bí ẩn đối với các tuyên bố mà "tầm thường" có thể được áp dụng chính xác hơn.
Jerry Coffin

Câu trả lời:


48

Mặc dù cách đó ban đầu có thể không rõ ràng trừ khi bạn là người Hà Lan.

đề cập đến dòng trước:

Nên có một-- và tốt nhất là chỉ có một cách rõ ràng để làm điều đó.

Và người ta đã lập luận rằng nó liên quan đến những suy nghĩ của Dijkstra về thiết kế ngôn ngữ như được thể hiện trong các bình luận của ông cho ngôn ngữ XANH (một ADA đầu tiên):

Tôi nghĩ rằng đó là một nguyên tắc vững chắc của thiết kế ngôn ngữ - quan tâm đến lập trình như một hoạt động của con người - rằng trong tất cả các khía cạnh, các chương trình tương đương nên có ít khả năng cho các cách trình bày khác nhau (khả năng khác biệt lý tưởng không vượt quá sự lựa chọn tùy ý của các định danh và thứ tự tùy ý của các thành phần không theo thứ tự cú pháp). Mặt khác, các phong cách lập trình hoàn toàn khác nhau phát sinh một cách không cần thiết, do đó cản trở khả năng bảo trì, khả năng đọc và những gì có bạn. Điều này đòi hỏi từ các nhà thiết kế ngôn ngữ sự can đảm để tạo nên tâm trí của họ! Các nhà thiết kế của ngôn ngữ XANH đã nhiều lần thiếu sự can đảm đó, và đã cung cấp nhiều cách để làm điều tương tự.

Câu trích dẫn đã được sử dụng để chỉ ra sự đối nghịch giữa thiết kế của Python (Chỉ có một cách để làm điều đó) với Perl ( Có nhiều hơn một cách để làm điều đó )

Khẩu hiệu, bán chính thức và không chính thức:

Perl: "Có nhiều hơn một cách để làm điều đó."

"Có nhiều cách để làm điều đó hơn bạn có thể nhớ, có thể nhiều hơn bạn có thể nhận ra."

Python: "Nên có một - và tốt nhất là chỉ có một - cách rõ ràng để làm điều đó."

Ít nhất chúng tôi đã cố gắng chọn đúng cách. (Tôi đã thấy một người tiên phong của nhận xét này được gán cho Dijkstra: "Tôi nghĩ ..." - Edsger W. Dijkstra trên XANH, một phiên bản đầu của Ada)

Việc đào sâu hơn đã tiết lộ chủ đề cũ này trong danh sách gửi thư của Python, được đặt tên phù hợp là "Dijkstra trên Python". Chủ đề được tập trung xung quanh cùng một trích dẫn và sự khác biệt về triết học giữa Python và Perl.

Nhưng, người Hà Lan thực sự là Guido van Rossum, như Tim Peters (tác giả của Zen of Python) tiết lộ :

Trong ngữ cảnh, "Dutch" có nghĩa là một người từ Hà Lan, hoặc một người thấm nhuần văn hóa Hà Lan (cầu xin sự tha thứ cho việc lạm dụng từ đó). Tôi sẽ nói tiếng Pháp, ngoại trừ mọi người Pháp tôi hỏi "làm thế nào để bạn tạo một bản sao nông cạn của một danh sách?" không trả lời

một danh sách[:]

Vì vậy, tôi đoán điều đó không rõ ràng với họ. Tuy nhiên, điều đó rõ ràng với người Hà Lan, vì rõ ràng với Guido van Rossum (người tạo ra Python, người Hà Lan), và một tin đồn dai dẳng cho rằng tất cả những người đăng bài lên comp.lang.python thực tế cũng là người Hà Lan. Những người Pháp tôi đã hỏi về việc sao chép một danh sách không phải là người dùng Python, điều này thậm chí còn nhiều bằng chứng hơn (như thể nó cần nhiều hơn).

Hay nói cách khác, "hiển nhiên" là một phần của sự phán đoán văn hóa đã học. Thực sự không có gì rõ ràng về bất kỳ ngôn ngữ máy tính nào, những người đề xướng bất chấp tất cả. Tuy nhiên, hầu hết Python là hiển nhiên đối với người Hà Lan. Những người khác đôi khi phải làm việc một chút khi học một cách rõ ràng trong Python, giống như họ phải làm việc một chút để học cách đánh giá cao hoa tulip và giả mạo Woody Woodpecker.


1
Làm tốt. Tôi chắc chắn đã học được rất nhiều từ phản ứng của bạn.
Một số chú mèo

Người Hà Lan có một số lần đầu tiên rất thú vị về ngôn ngữ máy tính, trình biên dịch và khoa học máy tính nói chung. Một câu nói thú vị khác về khoa học máy tính và Hà Lan là tuyên bố của Guido van Rossum về algol: "người ta nói rằng mức độ phổ biến của Algol 68 tỷ lệ nghịch với [...] khoảng cách từ Amsterdam". Hấp dẫn.
Warren P

1
Vâng, điều đó không rõ ràng lắm;)
rocktheartsm4l

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.