Donald Knuth Citas famosas

Última actualización : 5 de septiembre de 2024

other language: spanish | czech | german | french | italian | slovak | turkish | ukrainian | dutch | russian | portuguese

Donald Knuth
  • Un algoritmo debe verse para creerse.

  • La ciencia es lo que entendemos lo suficientemente bien como para explicárselo a una computadora. El arte es todo lo demás que hacemos.

  • La vida cotidiana es como programar, supongo. Si amas algo, puedes ponerle belleza.

  • El proceso de preparación de programas para una computadora digital es especialmente atractivo, no solo porque puede ser económica y científicamente gratificante, sino también porque puede ser una experiencia estética muy parecida a componer poesía o música.

  • La programación de computadoras es un arte, porque aplica el conocimiento acumulado al mundo, porque requiere habilidad e ingenio, y especialmente porque produce objetos de belleza. Un programador que inconscientemente se ve a sí mismo como un artista disfrutará de lo que hace y lo hará mejor.

  • La gente piensa que la informática es el arte de los genios, pero la realidad real es lo contrario, solo que muchas personas hacen cosas que se construyen unas sobre otras, como un muro de mini piedras.

  • Las computadoras son buenas para seguir instrucciones, pero no para leer tu mente.

  • De hecho, lo que me gustaría ver es que miles de informáticos se suelten para hacer lo que quieran. Eso es lo que realmente hace avanzar el campo.

  • Cambiemos nuestra actitud tradicional hacia la construcción de programas. En lugar de imaginar que nuestra tarea principal es instruir a una computadora sobre qué hacer, concentrémonos más bien en explicar a los seres humanos qué queremos que haga una computadora.

  • Tenga cuidado con los errores en el código anterior; solo he demostrado que es correcto, no lo he probado.

  • No puedo ir a un restaurante y pedir comida porque sigo mirando las fuentes del menú.

  • La optimización prematura es la raíz de todo mal.

  • ¿Cómo puedes ser dueño [...] ¿números? Los números pertenecen al mundo.

  • Las personas que están más que casualmente interesadas en las computadoras deberían tener al menos una idea de cómo es el hardware subyacente. De lo contrario, los programas que escriban serán bastante extraños.

  • Los números aleatorios no deben generarse con un método elegido al azar

  • El sol sale casi tan a menudo como se pone, a la larga, pero esto no hace que su movimiento sea aleatorio.

  • Creo que las personas que escriben programas tienen al menos un atisbo de conocimiento adicional sobre la naturaleza de Dios... porque crear un programa a menudo significa que tienes que crear un pequeño universo

  • Deberíamos esforzarnos continuamente por transformar cada arte en una ciencia: en el proceso, hacemos avanzar el arte.

  • Por sus importantes contribuciones al análisis de algoritmos y al diseño de lenguajes de programación, y en particular por sus contribuciones al "arte de la programación de computadoras" a través de sus conocidos libros en una serie continua con este título.

  • Una lista es tan fuerte como su eslabón más débil.

  • Es mucho más gratificante hacer más con menos.

  • Defino UNIX como 30 definiciones de expresiones regulares que viven bajo un mismo techo.

  • Todo lo que hace que la vida de un matemà ¡tico valga la pena es que recibe la admiración a regañadientes de tres o cuatro colegas.

  • Lo más difícil es irse a dormir por la noche, cuando hay tantas cosas urgentes que hacer. Existe una gran brecha entre lo que sabemos que es posible con las máquinas de hoy y lo que hasta ahora hemos podido terminar.

  • Lo más importante en el lenguaje de programación es el nombre. Un idioma no tendrá éxito sin un buen nombre. Recientemente inventé un muy buen nombre y ahora estoy buscando un lenguaje adecuado.

  • Actualmente uso Ubuntu Linux, en una computadora portátil independiente, no tiene conexión a Internet. Ocasionalmente llevo unidades de memoria flash entre esta máquina y las Mac que uso para navegar por la red y los gráficos; pero confío en las joyas de mi familia solo en Linux.

  • Los manuales que obtuvimos de IBM mostraban ejemplos de programas y sabía que podía hacer muchísimo mejor que eso. Así que pensé que podría tener algo de talento.

  • Los mejores programas están escritos para que las máquinas de computación puedan ejecutarlos rápidamente y para que los seres humanos puedan entenderlos claramente. Un programador es idealmente un ensayista que trabaja con formas estéticas y literarias tradicionales, así como con conceptos matemáticos, para comunicar la forma en que funciona un algoritmo y para convencer al lector de que los resultados serán correctos.

  • Tengo el presentimiento de que las secuencias desconocidas de ADN se decodificarán en avisos de derechos de autor y protecciones de patentes.

  • Si optimizas todo, siempre serás infeliz.

  • Al comprender un lenguaje orientado a la máquina, el programador tenderá a utilizar un método mucho más eficiente; está mucho más cerca de la realidad.

  • Recuerde siempre, sin embargo, que generalmente hay una manera mà ¡s simple y mejor de hacer algo que la primera forma que se le viene a la cabeza.

  • Lo importante, una vez que tengas suficiente para comer y una casa bonita, es lo que puedes hacer por los demás, lo que puedes contribuir a la empresa en su conjunto.

  • El perfil psicológico [de un programador] es principalmente la capacidad de cambiar los niveles de abstracción, de bajo nivel a alto nivel. Ver algo en lo pequeño y ver algo en lo grande.

  • La ciencia es un conocimiento que entendemos tan bien que podemos enseñárselo a una computadora; y si no entendemos completamente algo, es un arte tratarlo.

  • El libro Programación dinámica de Richard Bellman es un trabajo importante y pionero en el que se recopila un grupo de problemas al final de algunos capítulos bajo el título "Ejercicios y Problemas de investigación", con preguntas extremadamente triviales que aparecen en medio de problemas profundos y sin resolver. Se rumorea que alguien le preguntó una vez al Dr. Bellman cómo diferenciar los ejercicios de los problemas de investigación, y él respondió: "Si puedes resolverlo, es un ejercicio; de lo contrario, es un problema de investigación."

  • La programación es el arte de decirle a otro ser humano lo que uno quiere que haga la computadora.

  • ¡Una fórmula matemática nunca debe ser "propiedad" de nadie! Las matemáticas le pertenecen a Dios.

  • Los programadores pierden enormes cantidades de tiempo pensando o preocupándose por la velocidad de las partes no críticas de sus programas, y estos intentos de eficiencia en realidad tienen un fuerte impacto negativo cuando se consideran la depuración y el mantenimiento. Deberíamos olvidarnos de las pequeñas eficiencias, digamos alrededor del 97% del tiempo: la optimización prematura es la raíz de todos los males. Sin embargo, no debemos dejar pasar nuestras oportunidades en ese crítico 3%.

  • No puedo confiar tanto en la informática como en la biología. La biología fácilmente tiene 500 años de problemas emocionantes en los que trabajar. Está en ese nivel.

  • De hecho, mi principal conclusión después de pasar diez años de mi vida trabajando en el proyecto Te X es que el software es difícil. Es más difícil que cualquier otra cosa que haya tenido que hacer.

  • Los árboles brotan en casi todas partes en ciencias de la computación...

  • Si descubres que dedicas casi todo tu tiempo a la teoría, comienza a prestar atención a las cosas prácticas; mejorará tus teorías. Si descubres que dedicas casi todo tu tiempo a la práctica, comienza a prestar atención a las cosas teóricas; mejorará tu práctica.

  • ... el diseñador de un nuevo sistema no solo debe ser el implementador y el primer usuario a gran escala; el diseñador también debe escribir el primer manual del usuario. ... Si no hubiera participado plenamente en todas estas actividades, literalmente nunca se habrían realizado cientos de mejoras, porque nunca habría pensado en ellas ni habría percibido por qué eran importantes.

  • El diseñador de un nuevo tipo de sistema debe participar plenamente en la implementación.

  • El correo electrónico es algo maravilloso para las personas cuyo papel en la vida es estar al tanto de las cosas. Pero no para mí; mi papel es estar en el fondo de las cosas. Lo que hago requiere largas horas de estudio y concentración ininterrumpida.

  • Mi primer programa me enseñó mucho sobre los errores que iba a cometer en el futuro y también sobre cómo encontrarlos. Esa es una especie de historia de mi vida, cometer errores y tratar de recuperarme de ellos. Trato de hacer las cosas bien. Probablemente me obsesione con no cometer demasiados errores.

  • Cuando ciertos conceptos de TeX se introduzcan de manera informal, se establecerán reglas generales; luego encontrará que las reglas no son estrictamente ciertas. En general, los capítulos posteriores contienen información más confiable que los anteriores. El autor siente que esta técnica de mentir deliberadamente en realidad le facilitará aprender las ideas. Una vez que comprenda una regla simple pero falsa, no será difícil complementar esa regla con sus excepciones.

  • ...Una de las lecciones más importantes, quizás, es el hecho de que el SOFTWARE ES DIFÍCIL. De ahora en adelante tendré un respeto significativamente mayor por cada herramienta de software exitosa que encuentre. Durante la última década, me sorprendió saber que escribir programas para TeX y Metafont resultó ser mucho más difícil que todas las demás cosas que había hecho (como probar teoremas o escribir libros). La creación de un buen software exige un estándar de precisión significativamente más alto que el de esas otras cosas, y requiere un período de atención más prolongado que otras tareas intelectuales.

  • ...los métodos son más importantes que los hechos. El valor educativo de un problema dado a un estudiante depende principalmente de la frecuencia con la que los procesos de pensamiento que se invocan para resolverlo serán útiles en situaciones posteriores. Tiene poco que ver con lo útil que pueda ser la respuesta al problema. Por otro lado, un buen problema también debe motivar a los estudiantes; deben estar interesados en ver la respuesta. Dado que los estudiantes difieren tanto, no puedo esperar que a todos les gusten los problemas que me agradan.