¿Es la línea 14 de The Zen of Python una referencia a Dijkstra?

32

El Zen de Python dice en la línea 14 que:

Aunque esa manera puede no ser obvia al principio a menos que seas holandés.

¿Es esta una referencia al famoso informático holandés Edsger W. Dijkstra ?

Algunos gatitos
fuente
55
Elijo la opción C: es principalmente un intento de impartir un sentido de lo profundo y misterioso a las declaraciones a las que "banal" podría aplicarse con mayor precisión.
Jerry Coffin

Respuestas:

48

Aunque esa manera puede no ser obvia al principio a menos que seas holandés.

se refiere a la línea anterior:

Debe haber una, y preferiblemente solo una, forma obvia de hacerlo.

Y se ha argumentado que es en referencia a los pensamientos de Dijkstra sobre el diseño del lenguaje como se expresa en sus comentarios para el idioma VERDE (una ADA temprana):

Pensé que era un principio firme del diseño del lenguaje, por preocupación por la programación como actividad humana, que en todos los aspectos los programas equivalentes deberían tener pocas posibilidades para diferentes representaciones (posibilidad de que las diferencias idealmente no vayan más allá de la elección arbitraria de identificadores y el ordenamiento arbitrario de componentes sintácticamente desordenados). De lo contrario, surgen innecesariamente estilos de programación completamente diferentes, lo que dificulta el mantenimiento, la legibilidad y lo que tiene. ¡Esto requiere de los diseñadores de idiomas el coraje para decidirse! Los diseñadores del lenguaje VERDE han carecido repetidamente de ese coraje y han brindado múltiples formas de hacer lo mismo.

La cita se ha utilizado para señalar la antítesis entre el diseño de Python (solo hay una forma de hacerlo) con el de Perl ( hay más de una forma de hacerlo )

Lemas, semioficiales y no oficiales:

Perl: "Hay más de una forma de hacerlo".

"Hay más formas de hacerlo de las que puedes recordar, probablemente más de lo que puedes reconocer".

Python: "Debe haber una, y preferiblemente solo una, forma obvia de hacerlo".

Al menos tratamos de elegir el camino correcto. (He visto un progenitor de este comentario atribuido a Dijkstra: "Pensé ..." - Edsger W. Dijkstra en VERDE, una versión temprana de Ada)

La excavación adicional reveló este viejo hilo en una lista de correo de Python, apropiadamente llamado "Dijkstra en Python". El hilo se centra en la misma cita y las diferencias filosóficas entre Python y Perl.

Pero, el holandés es de hecho Guido van Rossum, como lo revela Tim Peters (autor del Zen de Python) :

En contexto, "holandés" significa una persona de los Países Bajos, o una persona imbuida de la cultura holandesa (pidiendo perdón por ese abuso de la palabra). Hubiera dicho francés, excepto que a todos los franceses que les pregunté "¿cómo se hace una copia superficial de una lista?" no pudo responder

una lista[:]

así que supongo que eso no es obvio para ellos. Sin embargo, debe ser obvio para los holandeses, ya que es obvio para Guido van Rossum (creador de Python, que es holandés), y un rumor persistente sostiene que todos los que publican en comp.lang.python también son holandeses. Los franceses a los que pregunté sobre copiar una lista no eran usuarios de Python, lo que es una prueba aún más (como si necesitara más).

O, en otras palabras, "obvio" es en parte un juicio cultural aprendido. Realmente no hay nada universalmente obvio sobre ningún lenguaje informático, a pesar de los defensores engañados. Sin embargo, la mayor parte de Python es obvia para los holandeses. Otros a veces tienen que trabajar un poco para aprender de la manera obvia en Python, así como tienen que trabajar un poco para aprender a apreciar los tulipanes y las personificaciones de Woody Woodpecker.

Yannis
fuente
1
Bien hecho. Seguro aprendí mucho de tu respuesta.
SomeKittens
Los holandeses tienen algunas novedades muy interesantes en lenguaje informático, compiladores e informática en general. Otra cita interesante sobre los holandeses y la informática es la declaración de Guido van Rossum sobre algol: "se dijo que la popularidad de Algol 68 era inversamente proporcional a la [...] distancia de Amsterdam". Interesante.
Warren P
1
Bueno, eso no fue muy explícito;)
rocktheartsm4l