Donald Knuth beroemde citaten

laatste update : 5 september 2024

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

Donald Knuth
  • Een algoritme moet gezien worden om te geloven.

  • Wetenschap is wat we goed genoeg begrijpen om aan een computer uit te leggen. Kunst is alles wat we doen.

  • Het dagelijks leven is als programmeren, denk ik. Als je van iets houdt, kun je er schoonheid in stoppen.

  • Het proces van het voorbereiden van programma ' s voor een digitale computer is bijzonder aantrekkelijk, niet alleen omdat het Economisch en wetenschappelijk lonend kan zijn, maar ook omdat het een esthetische ervaring kan zijn, net als het componeren van poëzie of muziek.

  • Computerprogrammering is een kunst, omdat het geaccumuleerde kennis op de wereld toepast, omdat het vaardigheid en vindingrijkheid vereist, en vooral omdat het objecten van schoonheid produceert. Een programmeur die zichzelf onbewust als kunstenaar ziet, zal genieten van wat hij doet en het beter doen.

  • Mensen denken dat computerwetenschap de kunst van genieën is, maar de werkelijke realiteit is het tegenovergestelde, gewoon veel mensen die dingen doen die op elkaar bouwen, zoals een muur van mini-stenen.

  • Computers zijn goed in het opvolgen van instructies, maar niet in het lezen van je gedachten.

  • In feite zou ik graag zien dat duizenden computerwetenschappers losgelaten worden om te doen wat ze willen. Dat is wat het veld echt vooruit helpt.

  • Laten we onze traditionele houding ten opzichte van de opbouw van programma ' s veranderen. In plaats van ons voor te stellen dat onze belangrijkste taak is om een computer te instrueren wat te doen, laten we ons eerder concentreren op het uitleggen aan mensen wat we willen dat een computer doet.

  • Pas op voor bugs in de bovenstaande code; Ik heb alleen bewezen dat het juist is, niet geprobeerd.

  • Ik kan niet naar een restaurant gaan en eten bestellen omdat ik blijf kijken naar de lettertypen op het menu.

  • Voortijdige optimalisatie is de wortel van alle kwaad.

  • Hoe kun je [ ... ].. nummers? Getallen zijn van de wereld.

  • Mensen die meer dan terloops geïnteresseerd zijn in computers moeten op zijn minst een idee hebben van hoe de onderliggende hardware eruit ziet. Anders zullen de programma ' s die ze schrijven behoorlijk raar zijn.

  • Willekeurige getallen mogen niet worden gegenereerd met een willekeurig gekozen methode

  • De zon komt ongeveer net zo vaak op als ze ondergaat, op de lange termijn, maar dit maakt haar beweging niet willekeurig.

  • Ik denk dat mensen die programma ' s schrijven op zijn minst een sprankje extra inzicht hebben in de aard van God... omdat het maken van een programma vaak betekent dat je een klein universum moet creëren

  • We moeten er voortdurend naar streven om elke kunst om te zetten in een wetenschap: in het proces bevorderen we de kunst.

  • Voor zijn belangrijke bijdragen aan de analyse van algoritmen en het ontwerp van programmeertalen, en in het bijzonder voor zijn bijdragen aan de "kunst van computerprogrammering" door zijn bekende boeken in een doorlopende serie met deze titel.

  • Een lijst is zo sterk als de zwakste schakel.

  • Het is veel lonender om meer te doen met minder.

  • Ik definieer UNIX als 30 definities van reguliere expressies wonen onder één dak.

  • Het hele ding dat het leven van een wiskundige de moeite waard maakt, is dat hij de onwrikbare bewondering van drie of vier collega ' s krijgt.

  • Het moeilijkste is om ' s nachts te gaan slapen, wanneer er zoveel dringende dingen moeten worden gedaan. Er bestaat een enorme kloof tussen wat we weten dat mogelijk is met de machines van vandaag en wat we tot nu toe hebben kunnen voltooien.

  • Het belangrijkste in de programmeertaal is de naam. Een taal zal niet slagen zonder een goede naam. Ik heb onlangs een zeer goede naam uitgevonden en nu ben ik op zoek naar een geschikte taal.

  • Ik gebruik momenteel Ubuntu Linux, op een standalone laptop - het heeft geen internetverbinding. Ik draag af en toe flash-geheugenstations tussen deze machine en de Macs die ik gebruik voor netwerksurfen en graphics; maar ik vertrouw mijn familiejuwelen alleen toe aan Linux.

  • De handleidingen die we van IBM kregen, zouden voorbeelden van programma ' s tonen en ik wist dat ik veel beter kon doen dan dat. Dus ik dacht dat ik misschien wat talent had.

  • De beste programma ' s zijn geschreven zodat computermachines ze snel kunnen uitvoeren en zodat mensen ze duidelijk kunnen begrijpen. Een programmeur is idealiter een essayist die werkt met traditionele esthetische en literaire vormen en wiskundige concepten, om de manier waarop een algoritme werkt te communiceren en een lezer ervan te overtuigen dat de resultaten correct zullen zijn.

  • Ik heb een vermoeden dat de onbekende DNA-sequenties zullen decoderen in auteursrechtelijke kennisgevingen en octrooibescherming.

  • Als je alles optimaliseert, zul je altijd ongelukkig zijn.

  • Door een machine-georiënteerde taal te begrijpen, zal de programmeur de neiging hebben om een veel efficiëntere methode te gebruiken; deze is veel dichter bij de werkelijkheid.

  • Onthoud echter altijd dat er meestal een eenvoudiger en betere manier is om iets te doen dan de eerste manier die in je hoofd opkomt.

  • Het belangrijkste, als je eenmaal genoeg te eten en een mooi huis hebt, is wat je voor anderen kunt doen, wat je kunt bijdragen aan de onderneming als geheel.

  • De psychologische profilering [van een programmeur] is meestal het vermogen om abstractieniveaus te verschuiven, van laag naar hoog niveau. Iets in het kleine zien en iets in het grote zien.

  • Wetenschap is kennis die we zo goed begrijpen dat we het aan een computer kunnen leren; en als we iets niet volledig begrijpen, is het een kunst om ermee om te gaan.

  • Het boek Dynamic Programming van Richard Bellman is een belangrijk, baanbrekend werk waarin een groep problemen aan het einde van sommige hoofdstukken onder de titel "oefeningen en onderzoeksproblemen" wordt verzameld, met uiterst triviale vragen die te midden van diepe, onopgeloste problemen verschijnen. Er wordt geruchten dat iemand Dr. Bellman eens vroeg hoe hij de oefeningen kon onderscheiden van de onderzoeksproblemen, en hij antwoordde: "Als je het kunt oplossen, is het een oefening; anders is het een onderzoeksprobleem."

  • Programmeren is de kunst om een ander mens te vertellen wat men wil dat de computer doet.

  • Een wiskundige formule mag nooit" eigendom " zijn van iemand! Wiskunde is van God.

  • Programmeurs verspillen enorme hoeveelheden tijd door na te denken over, of zich zorgen te maken over, de snelheid van niet-kritische delen van hun programma ' s, en deze pogingen tot efficiëntie hebben eigenlijk een sterke negatieve impact wanneer debugging en onderhoud worden overwogen. We moeten kleine efficiënties vergeten, zeg ongeveer 97% van de tijd: vroegtijdige optimalisatie is de wortel van alle kwaad. Toch moeten we onze kansen in die kritieke 3% niet laten liggen.

  • Ik kan niet zo zelfverzekerd zijn over informatica als over biologie. Biologie heeft gemakkelijk 500 jaar spannende problemen om aan te werken. Het is op dat niveau.

  • In feite is mijn belangrijkste conclusie na tien jaar van mijn leven te hebben gewerkt aan het T E X-project dat software moeilijk is. Het is moeilijker dan alles wat ik ooit heb moeten doen.

  • Bomen ontkiemen bijna overal in de informatica...

  • Als je merkt dat je bijna al je tijd aan theorie besteedt, begin dan wat aandacht te richten op praktische dingen; het zal je theorieën verbeteren. Als je merkt dat je bijna al je tijd aan de praktijk besteedt, begin dan wat aandacht te besteden aan theoretische dingen; het zal je oefening verbeteren.

  • ... de ontwerper van een nieuw systeem moet niet alleen de uitvoerder en de eerste grootschalige gebruiker zijn; de ontwerper moet ook de eerste gebruikershandleiding schrijven. ... Als ik niet volledig aan al deze activiteiten had deelgenomen, zouden letterlijk honderden verbeteringen nooit zijn aangebracht, omdat ik er nooit aan had gedacht of had ingezien waarom ze belangrijk waren.

  • De ontwerper van een nieuw soort systeem moet volledig deelnemen aan de implementatie.

  • E-mail is een geweldig iets voor mensen wiens rol in het leven is om op de top van de dingen. Maar niet voor mij; mijn rol is om op de bodem van de dingen te zijn. Wat ik doe kost lange uren studeren en ononderbroken concentratie.

  • Mijn eerste programma leerde me veel over de fouten die ik in de toekomst zou gaan maken, en ook over hoe fouten te vinden. Dat is een soort van het verhaal van mijn leven, fouten maken en proberen te herstellen van hen. Ik probeer dingen goed te krijgen. Ik ben waarschijnlijk geobsedeerd om niet te veel fouten te maken.

  • Wanneer bepaalde concepten van TeX informeel worden geïntroduceerd, zullen algemene regels worden vermeld; daarna zult u merken dat de regels niet strikt waar zijn. In het algemeen bevatten de latere hoofdstukken betrouwbaarder informatie dan de eerdere. De auteur is van mening dat deze techniek van opzettelijk liegen het voor u gemakkelijker zal maken om de ideeën te leren. Als je eenmaal een eenvoudige maar valse regel begrijpt, zal het niet moeilijk zijn om die regel aan te vullen met de uitzonderingen.

  • ...Een van de belangrijkste lessen is misschien wel het feit dat SOFTWARE moeilijk is. Vanaf nu zal ik aanzienlijk meer respect hebben voor elke succesvolle softwaretool die ik tegenkom. In het afgelopen decennium was ik verrast te horen dat het schrijven van programma ' s voor TeX en Metafont veel moeilijker bleek te zijn dan alle andere dingen die ik had gedaan (zoals het bewijzen van stellingen of het schrijven van boeken). Het creëren van goede software vereist een aanzienlijk hogere standaard van nauwkeurigheid dan die andere dingen, en het vereist een langere aandachtsspanne dan andere intellectuele taken.

  • ...methoden zijn belangrijker dan feiten. De educatieve waarde van een probleem dat aan een student wordt gegeven, hangt vooral af van hoe vaak de denkprocessen die worden opgeroepen om het op te lossen, in latere situaties nuttig zullen zijn. Het heeft weinig te maken met hoe nuttig het antwoord op het probleem kan zijn. Aan de andere kant moet een goed probleem ook de studenten motiveren; ze moeten geïnteresseerd zijn in het zien van het antwoord. Omdat studenten zo sterk verschillen, kan ik niet verwachten dat iedereen de problemen die mij behagen leuk vindt.