Donald Knuth citações famosas

última atualização : 5 de setembro de 2024

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

Donald Knuth
  • Um algoritmo deve ser visto para ser acreditado.

  • Ciência é o que entendemos bem o suficiente para explicar a um computador. Arte é tudo o mais que fazemos.

  • A vida quotidiana é como a programação. Se você ama algo, pode colocar beleza nisso.

  • O processo de preparação de programas para um computador digital é especialmente atraente, não só porque pode ser economicamente e cientificamente recompensador, mas também porque pode ser uma experiência estética muito parecida com a composição de poesia ou música.

  • A programação de computadores é uma arte, porque aplica o conhecimento acumulado ao mundo, porque requer habilidade e engenhosidade, e especialmente porque produz objetos de beleza. Um programador que inconscientemente se vê como um artista apreciará o que faz e fará melhor.

  • As pessoas pensam que a Ciência da computação é a arte de gênios, mas a realidade real é o oposto, apenas muitas pessoas fazendo coisas que se constroem, como uma parede de mini pedras.

  • Os computadores são bons em seguir instruções, mas não em ler a sua mente.

  • Na verdade, o que eu gostaria de ver é que milhares de cientistas da computação se soltem para fazer o que quiserem. É isso que realmente avança o campo.

  • Mudemos a nossa atitude tradicional em relação à construção de programas. Em vez de imaginarmos que a nossa principal tarefa é instruir um computador sobre o que fazer, concentremo-nos antes em explicar aos seres humanos o que queremos que um computador faça.

  • Cuidado com os bugs no código acima; eu só provei que está correto, não tentei.

  • Eu não posso ir a um restaurante e pedir comida, porque eu continuo olhando para as fontes no menu.

  • A otimização prematura é a raiz de todo o mal.

  • Como você pode possuir [...] números? Os números pertencem ao mundo.

  • As pessoas que estão mais do que casualmente interessadas em computadores devem ter pelo menos alguma ideia de como é o hardware subjacente. Caso contrário, os programas que eles escrevem serão muito estranhos.

  • Os números aleatórios não devem ser gerados com um método escolhido aleatoriamente

  • O sol nasce quase com a mesma frequência que se põe, a longo prazo, mas isso não torna o seu movimento aleatório.

  • Eu acho que as pessoas que escrevem programas têm pelo menos um vislumbre de uma visão extra sobre a natureza de Deus... porque criar um programa muitas vezes significa que você tem que criar um pequeno universo

  • Devemos esforçar-nos continuamente por transformar toda a arte numa ciência: nesse processo, avançamos a arte.

  • Por suas principais contribuições para a análise de algoritmos e o design de linguagens de programação, e em particular por suas contribuições para a "arte da programação de computadores" através de seus conhecidos livros em uma série contínua com este título.

  • Uma lista é tão forte quanto o seu elo mais fraco.

  • É muito mais gratificante fazer mais com menos.

  • Eu defino UNIX como 30 definições de expressões regulares que vivem sob o mesmo teto.

  • A única coisa que faz valer a pena a vida de um matemático é que ele recebe a admiração relutante de três ou quatro colegas.

  • O mais difícil é ir dormir à noite, quando há tantas coisas urgentes a fazer. Existe uma enorme lacuna entre o que sabemos ser possível com as máquinas de hoje e o que até agora conseguimos concluir.

  • O mais importante na linguagem de programação é o nome. Uma língua não terá êxito sem um bom nome. Inventei recentemente um nome muito bom e agora estou à procura de uma linguagem adequada.

  • Atualmente, uso o Ubuntu Linux, em um laptop autônomo-ele não tem conexão com a Internet. Ocasionalmente, carrego unidades de memória flash entre esta máquina e os Macs que uso para navegação em rede e gráficos; mas confio nas jóias da minha família apenas no Linux.

  • Os manuais que recebemos da IBM mostrariam exemplos de programas e eu sabia que poderia fazer muito melhor do que isso. Então pensei que podia ter algum talento.

  • Os melhores programas são escritos para que as máquinas de computação possam executá-los rapidamente e para que os seres humanos possam compreendê-los claramente. Um programador é idealmente um ensaísta que trabalha com formas estéticas e literárias tradicionais, bem como conceitos matemáticos, para comunicar a maneira como um algoritmo funciona e convencer um leitor de que os resultados serão corretos.

  • Tenho um palpite de que as sequências desconhecidas de ADN Irão descodificar em avisos de direitos de autor e proteções de patentes.

  • Se você otimizar tudo, sempre ficará infeliz.

  • Ao compreender uma linguagem orientada para a máquina, o programador tenderá a utilizar um método muito mais eficiente; está muito mais próximo da realidade.

  • Lembre-se sempre, no entanto, que normalmente existe uma maneira mais simples e melhor de fazer algo do que a primeira maneira que surge na sua cabeça.

  • O importante, uma vez que tenha o suficiente para comer e uma boa casa, é o que pode fazer pelos outros, o que pode contribuir para a empresa como um todo.

  • O perfil psicológico [de um programador] é principalmente a capacidade de mudar os níveis de abstração, de baixo nível para alto nível. Ver algo no pequeno e ver algo no grande.

  • A ciência é um conhecimento que compreendemos tão bem que podemos ensiná-lo a um computador; e se não compreendermos completamente alguma coisa, é uma arte lidar com ela.

  • O Livro Dynamic Programming de Richard Bellman é um trabalho importante e pioneiro no qual um grupo de problemas é reunido no final de alguns capítulos sob o título "exercícios e problemas de pesquisa", com questões extremamente triviais aparecendo em meio a problemas profundos e não resolvidos. Há rumores de que uma vez alguém perguntou ao Dr. Bellman como distinguir os exercícios dos problemas de pesquisa, e ele respondeu: "Se você pode resolvê-lo, é um exercício; caso contrário, é um problema de pesquisa."

  • A programação é a arte de dizer a outro ser humano o que se quer que o computador faça.

  • Uma fórmula matemática nunca deve ser "possuída" por ninguém! A matemática pertence a Deus.

  • Os programadores perdem enormes quantidades de tempo a pensar ou a preocupar-se com a velocidade das partes não críticas dos seus programas, e estas tentativas de eficiência têm, na verdade, um forte impacto negativo quando se considera a depuração e a manutenção. Devemos esquecer as pequenas eficiências, digamos cerca de 97% das vezes: a optimização prematura é a raiz de todo o mal. No entanto, não devemos perder as nossas oportunidades nesses 3% Críticos.

  • Não posso estar tão confiante em Ciência da Computação quanto posso em biologia. A biologia tem facilmente 500 anos de problemas interessantes para trabalhar. É nesse nível.

  • Na verdade, a minha principal conclusão, depois de passar dez anos da minha vida a trabalhar no projecto T E X, é que o software é difícil. É mais difícil do que qualquer outra coisa que alguma vez tive de fazer.

  • Árvores brotam em quase todos os lugares na ciência da computação...

  • Se você achar que está gastando quase todo o seu tempo em teoria, comece a voltar alguma atenção para as coisas práticas; isso melhorará suas teorias. Se você achar que está gastando quase todo o seu tempo na prática, comece a voltar alguma atenção para as coisas teóricas; isso melhorará sua prática.

  • ... o projetista de um novo sistema não deve ser apenas o implementador e o primeiro usuário em grande escala; o projetista também deve escrever o primeiro manual do usuário. ... Se eu não tivesse participado plenamente em todas estas actividades, literalmente centenas de melhorias nunca teriam sido feitas, porque eu nunca teria pensado nelas ou percebido por que elas eram importantes.

  • O projetista de um novo tipo de sistema deve participar plenamente na implementação.

  • E-mail é uma coisa maravilhosa para as pessoas cujo papel na vida é estar no topo das coisas. Mas não para mim; o meu papel é estar no fundo das coisas. O que faço requer longas horas de estudo e concentração ininterrupta.

  • O meu primeiro programa ensinou-me muito sobre os erros que eu ia cometer no futuro, e também sobre como encontrar erros. Essa é uma espécie de história da minha vida, cometendo erros e tentando recuperá-los. Tento corrigir as coisas. Provavelmente estou obcecado por não cometer muitos erros.

  • Quando certos conceitos de TeX são introduzidos informalmente, regras gerais serão declaradas; depois, você descobrirá que as regras não são estritamente verdadeiras. Em geral, os capítulos posteriores contêm informações mais fiáveis do que os anteriores. O autor considera que esta técnica de mentira deliberada tornará mais fácil para si aprender as ideias. Uma vez compreendida uma regra simples mas falsa, não será difícil complementá-la com as suas excepções.

  • ...Uma das lições mais importantes, talvez, é o facto de o SOFTWARE ser difícil. A partir de agora, terei um respeito muito maior por todas as ferramentas de software bem-sucedidas que encontrar. Durante a última década, fiquei surpreso ao saber que a escrita de programas para TeX e Metafont provou ser muito mais difícil do que todas as outras coisas que fiz (como provar teoremas ou escrever livros). A criação de um bom software exige um nível de precisão significativamente mais elevado do que as outras coisas, e requer um tempo de atenção mais longo do que outras tarefas intelectuais.

  • ...os métodos são mais importantes do que os factos. O valor educativo de um problema dado a um estudante depende principalmente da frequência com que os processos de pensamento que são invocados para resolvê-lo serão úteis em situações posteriores. Tem pouco a ver com a utilidade da resposta ao problema. Por outro lado, um bom problema deve também motivar os alunos; eles devem estar interessados em ver a resposta. Uma vez que os estudantes diferem muito, não posso esperar que todos gostem dos problemas que me agradam.