Donald Knuth citazioni famose

ultimo aggiornamento : 5 settembre 2024

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

Donald Knuth
  • Un algoritmo deve essere visto per essere creduto.

  • La scienza è ciò che comprendiamo abbastanza bene da spiegare a un computer. L'arte è tutto ciò che facciamo.

  • La vita di tutti i giorni è come programmare, immagino. Se ami qualcosa puoi metterci la bellezza.

  • Il processo di preparazione dei programmi per un computer digitale è particolarmente attraente, non solo perché può essere economicamente e scientificamente gratificante, ma anche perché può essere un'esperienza estetica molto simile alla composizione di poesie o musica.

  • La programmazione informatica è un'arte, perché applica la conoscenza accumulata al mondo, perché richiede abilità e ingegno, e soprattutto perché produce oggetti di bellezza. Un programmatore che si considera inconsciamente un artista apprezzerà ciò che fa e lo farà meglio.

  • La gente pensa che l'informatica sia l'arte dei geni, ma la realtà reale è l'opposto, solo molte persone fanno cose che si costruiscono l'una sull'altra, come un muro di mini pietre.

  • I computer sono bravi a seguire le istruzioni, ma non a leggere la mente.

  • In realtà quello che mi piacerebbe vedere è migliaia di scienziati informatici lasciati liberi di fare quello che vogliono. Questo è ciò che fa davvero avanzare il campo.

  • Cambiamo il nostro atteggiamento tradizionale nei confronti della costruzione di programmi. Invece di immaginare che il nostro compito principale sia quello di istruire un computer su cosa fare, concentriamoci piuttosto sullo spiegare agli esseri umani cosa vogliamo che faccia un computer.

  • Attenzione ai bug nel codice sopra; Ho solo dimostrato che è corretto, non provato.

  • Non posso andare in un ristorante e ordinare cibo perché continuo a guardare i caratteri sul menu.

  • L'ottimizzazione prematura è la radice di tutti i mali.

  • Come puoi possedere [...] numeri? I numeri appartengono al mondo.

  • Le persone che sono più che casualmente interessate ai computer dovrebbero avere almeno un'idea di come sia l'hardware sottostante. Altrimenti i programmi che scrivono saranno piuttosto strani.

  • I numeri casuali non devono essere generati con un metodo scelto a caso

  • Il sole sorge quasi tutte le volte che scende, a lungo andare, ma questo non rende il suo movimento casuale.

  • Penso che le persone che scrivono programmi abbiano almeno un barlume di visione extra della natura di Dio... perché creare un programma spesso significa che devi creare un piccolo universo

  • Dovremmo sforzarci continuamente di trasformare ogni arte in una scienza: nel processo, avanziamo l'arte.

  • Per i suoi importanti contributi all'analisi degli algoritmi e alla progettazione dei linguaggi di programmazione, e in particolare per i suoi contributi all ' "arte della programmazione informatica" attraverso i suoi noti libri in una serie continua con questo titolo.

  • Una lista è forte quanto il suo anello più debole.

  • È molto più gratificante fare di più con meno.

  • Definisco UNIX come 30 definizioni di espressioni regolari che vivono sotto lo stesso tetto.

  • L'intera cosa che rende la vita di un mathematician’s vale la pena è che ottiene l'ammirazione riluttante di tre o quattro colleghi.

  • La cosa più difficile è andare a dormire la notte, quando ci sono così tante cose urgenti che devono essere fatte. Esiste un enorme divario tra ciò che sappiamo è possibile con le macchine di oggi e ciò che siamo stati finora in grado di finire.

  • La cosa più importante nel linguaggio di programmazione è il nome. Una lingua non avrà successo senza un buon nome. Recentemente ho inventato un nome molto buono e ora sto cercando una lingua adatta.

  • Attualmente uso Ubuntu Linux, su un laptop standalone-non ha connessione Internet. Occasionalmente porto unità di memoria flash tra questa macchina e i Mac che uso per la navigazione in rete e la grafica; ma mi fido dei miei gioielli di famiglia solo per Linux.

  • I manuali che abbiamo ottenuto da IBM mostravano esempi di programmi e sapevo che avrei potuto fare molto meglio di così. Così ho pensato che avrei potuto avere qualche talento.

  • I migliori programmi sono scritti in modo che le macchine informatiche possano eseguirli rapidamente e in modo che gli esseri umani possano comprenderli chiaramente. Un programmatore è idealmente un saggista che lavora con forme estetiche e letterarie tradizionali e concetti matematici, per comunicare il modo in cui funziona un algoritmo e per convincere un lettore che i risultati saranno corretti.

  • Ho la sensazione che le sequenze sconosciute di DNA decodificheranno in avvisi di copyright e protezioni di brevetti.

  • Se ottimizzi tutto, sarai sempre infelice.

  • Comprendendo un linguaggio orientato alla macchina, il programmatore tenderà a utilizzare un metodo molto più efficiente; è molto più vicino alla realtà.

  • Ricordate sempre, tuttavia, che thereâ € ™s di solito un modo più semplice e migliore per fare qualcosa rispetto al primo modo che salta in testa.

  • La cosa importante, una volta che hai abbastanza da mangiare e una bella casa, è cosa puoi fare per gli altri, cosa puoi contribuire all'impresa nel suo complesso.

  • Il profilo psicologico [di un programmatore] è principalmente la capacità di spostare i livelli di astrazione, da basso livello ad alto livello. Vedere qualcosa nel piccolo e vedere qualcosa nel grande.

  • La scienza è conoscenza che comprendiamo così bene che possiamo insegnarla a un computer; e se non comprendiamo appieno qualcosa, è un'arte affrontarla.

  • Il libro Dynamic Programming di Richard Bellman è un importante lavoro pionieristico in cui un gruppo di problemi viene raccolto alla fine di alcuni capitoli sotto il titolo "Esercizi e problemi di ricerca", con domande estremamente banali che appaiono in mezzo a problemi profondi e irrisolti. Si dice che qualcuno una volta abbia chiesto al Dr. Bellman come distinguere gli esercizi dai problemi di ricerca, e lui ha risposto: "Se puoi risolverlo, è un esercizio; altrimenti è un problema di ricerca."

  • La programmazione è l'arte di dire a un altro essere umano ciò che si vuole che il computer faccia.

  • Una formula matematica non dovrebbe mai essere "posseduta" da nessuno! La matematica appartiene a Dio.

  • I programmatori sprecano enormi quantità di tempo a pensare, o preoccuparsi, della velocità delle parti non critiche dei loro programmi, e questi tentativi di efficienza hanno in realtà un forte impatto negativo quando vengono considerati il debug e la manutenzione. Dovremmo dimenticare le piccole efficienze, diciamo circa il 97% delle volte: l'ottimizzazione prematura è la radice di tutti i mali. Tuttavia non dovremmo perdere le nostre opportunità in quel 3% critico.

  • Non posso essere così sicuro dell'informatica come posso della biologia. La biologia ha facilmente 500 anni di problemi eccitanti su cui lavorare. E ' a quel livello.

  • In effetti, la mia conclusione principale dopo aver trascorso dieci anni della mia vita a lavorare sul progetto T E X è che il software è difficile. E ' piu ' difficile di qualsiasi altra cosa che abbia mai dovuto fare.

  • Gli alberi spuntano quasi ovunque nell'informatica...

  • Se scopri che stai spendendo quasi tutto il tuo tempo sulla teoria, inizia a rivolgere un po ' di attenzione alle cose pratiche; migliorerà le tue teorie. Se scopri che stai spendendo quasi tutto il tuo tempo in pratica, inizia a rivolgere un po ' di attenzione alle cose teoriche; migliorerà la tua pratica.

  • ... il progettista di un nuovo sistema non deve essere solo l'implementatore e il primo utente su larga scala; il progettista deve anche scrivere il primo manuale utente. ... Se non avessi partecipato pienamente a tutte queste attività, letteralmente centinaia di miglioramenti non sarebbero mai stati fatti, perché non avrei mai pensato a loro o percepito perché erano importanti.

  • Il progettista di un nuovo tipo di sistema deve partecipare pienamente all'implementazione.

  • E-mail è una cosa meravigliosa per le persone il cui ruolo nella vita è quello di essere in cima alle cose. Ma non per me; il mio ruolo è quello di essere sul fondo delle cose. Quello che faccio richiede lunghe ore di studio e concentrazione ininterrotta.

  • Il mio primo programma mi ha insegnato molto sugli errori che avrei fatto in futuro, e anche su come trovare gli errori. Questa è una sorta di storia della mia vita, fare errori e cercare di recuperare da loro. Cerco di sistemare le cose. Probabilmente sono ossessionato dal non commettere troppi errori.

  • Quando alcuni concetti di TeX vengono introdotti in modo informale, verranno dichiarate regole generali; in seguito scoprirai che le regole non sono strettamente vere. In generale, i capitoli successivi contengono informazioni più affidabili di quelle precedenti. L'autore ritiene che questa tecnica di menzogna deliberata renderà effettivamente più facile per te imparare le idee. Una volta compresa una regola semplice ma falsa, non sarà difficile integrare tale regola con le sue eccezioni.

  • ...Una delle lezioni più importanti, forse, è il fatto che il SOFTWARE È DIFFICILE. D'ora in poi avrò un rispetto significativamente maggiore per ogni strumento software di successo che incontro. Durante l'ultimo decennio sono rimasto sorpreso di apprendere che la scrittura di programmi per TeX e Metafont si è rivelata molto più difficile di tutte le altre cose che avevo fatto (come dimostrare teoremi o scrivere libri). La creazione di un buon software richiede uno standard di precisione significativamente più elevato rispetto a quelle altre cose, e richiede una capacità di attenzione più lunga rispetto ad altri compiti intellettuali.

  • ...i metodi sono più importanti dei fatti. Il valore educativo di un problema dato a uno studente dipende principalmente da quanto spesso i processi di pensiero che vengono invocati per risolverlo saranno utili in situazioni successive. Ha poco a che fare con quanto possa essere utile la risposta al problema. D'altra parte, un buon problema deve anche motivare gli studenti; dovrebbero essere interessati a vedere la risposta. Dal momento che gli studenti differiscono così tanto, non posso aspettarmi che a tutti piacciano i problemi che mi piacciono.