Donald Knuth berühmte Zitate

Zuletzt aktualisiert : 5. September 2024

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

Donald Knuth
  • Ein Algorithmus muss gesehen werden, um geglaubt zu werden.

  • Wissenschaft ist das, was wir gut genug verstehen, um es einem Computer zu erklären. Kunst ist alles, was wir tun.

  • Der Alltag ist wie Programmieren, denke ich. Wenn du etwas liebst, kannst du Schönheit hineinlegen.

  • Der Prozess der Erstellung von Programmen für einen digitalen Computer ist besonders attraktiv, nicht nur, weil er wirtschaftlich und wissenschaftlich lohnenswert ist, sondern auch, weil er eine ästhetische Erfahrung sein kann, ähnlich wie das Komponieren von Gedichten oder Musik.

  • Computerprogrammierung ist eine Kunst, weil sie angesammeltes Wissen auf die Welt anwendet, weil sie Geschick und Einfallsreichtum erfordert und vor allem, weil sie Objekte von Schönheit hervorbringt. Ein Programmierer, der sich unbewusst als Künstler betrachtet, wird Spaß an dem haben, was er tut, und es besser machen.

  • Die Leute denken, dass Informatik die Kunst von Genies ist, aber die tatsächliche Realität ist das Gegenteil, nur viele Menschen tun Dinge, die aufeinander aufbauen, wie eine Mauer aus Mini-Steinen.

  • Computer sind gut darin, Anweisungen zu befolgen, aber nicht darin, Gedanken zu lesen.

  • Tatsächlich würde ich gerne sehen, dass Tausende von Informatikern losgelassen werden, um zu tun, was sie wollen. Das ist es, was das Feld wirklich voranbringt.

  • Lassen Sie uns unsere traditionelle Einstellung zum Aufbau von Programmen ändern. Anstatt uns vorzustellen, dass unsere Hauptaufgabe darin besteht, einem Computer Anweisungen zu geben, was er tun soll, konzentrieren wir uns lieber darauf, den Menschen zu erklären, was ein Computer tun soll.

  • Vorsicht vor Fehlern im obigen Code; Ich habe es nur als richtig erwiesen, nicht ausprobiert.

  • Ich canâ € ™ t in ein Restaurant gehen und Essen bestellen, weil ich immer wieder auf die Schriftarten auf der Speisekarte schaue.

  • Vorzeitige Optimierung ist die Wurzel allen Übels.

  • Wie kannst du besitzen [...] zahlen? Zahlen gehören der Welt.

  • Menschen, die sich mehr als beiläufig für Computer interessieren, sollten zumindest eine Vorstellung davon haben, wie die zugrunde liegende Hardware aussieht. Sonst werden die Programme, die sie schreiben, ziemlich komisch sein.

  • Zufallszahlen sollten nicht mit einer zufällig gewählten Methode generiert werden

  • Die Sonne geht auf lange Sicht genauso oft auf, wie sie untergeht, aber das macht ihre Bewegung nicht zufällig.

  • Ich denke, Leute, die Programme schreiben, haben zumindest einen Schimmer zusätzlicher Einsicht in die Natur Gottes... weil das Erstellen eines Programms oft bedeutet, dass Sie ein kleines Universum erstellen müssen

  • Wir sollten ständig danach streben, jede Kunst in eine Wissenschaft zu verwandeln: Dabei bringen wir die Kunst voran.

  • Für seine wesentlichen Beiträge zur Analyse von Algorithmen und zum Entwurf von Programmiersprachen und insbesondere für seine Beiträge zur "Kunst der Computerprogrammierung" durch seine bekannten Bücher in einer fortlaufenden Reihe mit diesem Titel.

  • Eine Liste ist nur so stark wie ihr schwächstes Glied.

  • Es ist viel lohnender, mit weniger mehr zu erreichen.

  • Ich definiere UNIX als 30 Definitionen von regulären Ausdrücken, die unter einem Dach leben.

  • Die ganze Sache, die ein mathematicianâ € ™ s Leben lohnenswert macht, ist, dass er die widerwillige Bewunderung von drei oder vier Kollegen bekommt.

  • Das Schwierigste ist, nachts schlafen zu gehen, wenn so viele dringende Dinge erledigt werden müssen. Es besteht eine große Kluft zwischen dem, was mit den heutigen Maschinen möglich ist, und dem, was wir bisher fertigstellen konnten.

  • Das Wichtigste in der Programmiersprache ist der Name. Eine Sprache wird ohne einen guten Namen nicht erfolgreich sein. Ich habe vor kurzem einen sehr guten Namen erfunden und suche jetzt nach einer passenden Sprache.

  • Ich benutze derzeit Ubuntu Linux auf einem eigenständigen Laptop - es hat keine Internetverbindung. Ich habe gelegentlich Flash-Speicherlaufwerke zwischen diesem Computer und den Macs, die ich zum Surfen im Netzwerk und für Grafiken verwende. aber ich vertraue meine Familienjuwelen nur Linux an.

  • Die Handbücher, die wir von IBM bekamen, zeigten Beispiele für Programme und ich wusste, dass ich viel besser machen konnte. Also dachte ich, ich könnte Talent haben.

  • Die besten Programme sind so geschrieben, dass Rechenmaschinen sie schnell ausführen und Menschen sie klar verstehen können. Ein Programmierer ist idealerweise ein Essayist, der mit traditionellen ästhetischen und literarischen Formen sowie mathematischen Konzepten arbeitet, um die Funktionsweise eines Algorithmus zu kommunizieren und einen Leser davon zu überzeugen, dass die Ergebnisse korrekt sind.

  • Ich habe eine Ahnung, dass die unbekannten DNA-Sequenzen in Urheberrechtsvermerke und Patentschutz entschlüsselt werden.

  • Wenn Sie alles optimieren, werden Sie immer unglücklich sein.

  • Wenn der Programmierer eine maschinenorientierte Sprache versteht, wird er tendenziell eine viel effizientere Methode verwenden. es ist viel näher an der Realität.

  • Denken Sie jedoch immer daran, dass thereâ € ™ s in der Regel eine einfachere und bessere Möglichkeit, etwas zu tun, als die erste Möglichkeit, die Ihnen in den Sinn kommt.

  • Das Wichtigste ist, wenn Sie genug zu essen und ein schönes Haus haben, was Sie für andere tun können, was Sie zum Unternehmen als Ganzes beitragen können.

  • Das psychologische Profiling [eines Programmierers] ist meistens die Fähigkeit, Abstraktionsebenen von einer niedrigen auf eine hohe Ebene zu verschieben. Im Kleinen etwas sehen und im Großen etwas sehen.

  • Wissenschaft ist Wissen, das wir so gut verstehen, dass wir es einem Computer beibringen können; und wenn wir etwas nicht vollständig verstehen, ist es eine Kunst, damit umzugehen.

  • Das Buch Dynamische Programmierung von Richard Bellman ist eine wichtige Pionierarbeit, in der am Ende einiger Kapitel unter der Überschrift "Übungen und Forschungsprobleme" eine Gruppe von Problemen zusammengefasst ist, bei denen äußerst triviale Fragen inmitten tiefer, ungelöster Probleme auftauchen. Es wird gemunkelt, dass jemand Dr. Bellman einmal gefragt hat, wie man die Übungen von den Forschungsproblemen unterscheidet, und er antwortete: "Wenn Sie es lösen können, ist es eine Übung; Ansonsten ist es ein Forschungsproblem."

  • Programmieren ist die Kunst, einem anderen Menschen zu sagen, was der Computer tun soll.

  • Eine mathematische Formel sollte niemals jemandem "gehören"! Mathematik gehört Gott.

  • Programmierer verschwenden enorm viel Zeit damit, über die Geschwindigkeit unkritischer Teile ihrer Programme nachzudenken oder sich Gedanken darüber zu machen, und diese Effizienzversuche wirken sich tatsächlich stark negativ aus, wenn Debugging und Wartung in Betracht gezogen werden. Wir sollten kleine Effizienzen vergessen, sagen wir in etwa 97% der Fälle: Vorzeitige Optimierung ist die Wurzel allen Übels. Dennoch sollten wir unsere Chancen in diesen kritischen 3% nicht verpassen.

  • Ich kann in der Informatik nicht so zuversichtlich sein wie in der Biologie. Die Biologie hat leicht 500 Jahre spannender Probleme zu bearbeiten. Es ist auf dieser Ebene.

  • Tatsächlich ist meine wichtigste Schlussfolgerung nach zehn Jahren meines Lebens, in denen ich am Tex-Projekt gearbeitet habe, dass Software hart ist. Es ist schwieriger als alles andere, was ich jemals tun musste.

  • Bäume sprießen fast überall in der Informatik...

  • Wenn du feststellst, dass du fast deine ganze Zeit mit Theorie verbringst, fange an, praktische Dinge zu beachten; es wird deine Theorien verbessern. Wenn du feststellst, dass du fast deine ganze Zeit mit Üben verbringst, fange an, theoretischen Dingen Aufmerksamkeit zu schenken. es wird deine Praxis verbessern.

  • ... der Designer eines neuen Systems muss nicht nur der Implementierer und der erste Großanwender sein; Der Designer sollte auch das erste Benutzerhandbuch schreiben. ... Wenn ich nicht vollständig an all diesen Aktivitäten teilgenommen hätte, wären buchstäblich Hunderte von Verbesserungen nie gemacht worden, weil ich nie an sie gedacht oder erkannt hätte, warum sie wichtig sind.

  • Der Designer eines neuartigen Systems muss vollständig an der Implementierung beteiligt sein.

  • E-Mail ist eine wunderbare Sache für Menschen, deren Rolle im Leben darin besteht, den Überblick zu behalten. Aber nicht für mich; Meine Rolle ist es, den Dingen auf den Grund zu gehen. Was ich tue, erfordert stundenlanges Lernen und ununterbrochene Konzentration.

  • Mein erstes Programm lehrte mich viel über die Fehler, die ich in Zukunft machen würde, und auch darüber, wie man Fehler findet. Das ist eine Art Geschichte meines Lebens, Fehler zu machen und zu versuchen, sich von ihnen zu erholen. Ich versuche, die Dinge richtig zu machen. Ich bin wahrscheinlich besessen davon, nicht zu viele Fehler zu machen.

  • Wenn bestimmte Konzepte von TeX informell eingeführt werden, werden allgemeine Regeln angegeben; danach werden Sie feststellen, dass die Regeln nicht unbedingt wahr sind. Im Allgemeinen enthalten die späteren Kapitel zuverlässigere Informationen als die früheren. Der Autor ist der Meinung, dass diese Technik des absichtlichen Lügens es Ihnen tatsächlich leichter macht, die Ideen zu lernen. Sobald Sie eine einfache, aber falsche Regel verstanden haben, wird es nicht schwer sein, diese Regel mit ihren Ausnahmen zu ergänzen.

  • ...Eine der wichtigsten Lektionen ist vielleicht die Tatsache, dass SOFTWARE HART ist. Von nun an werde ich vor jedem erfolgreichen Softwaretool, das mir begegnet, deutlich mehr Respekt haben. Im letzten Jahrzehnt war ich überrascht zu erfahren, dass sich das Schreiben von Programmen für TeX und Metafont als viel schwieriger erwies als all die anderen Dinge, die ich getan hatte (wie das Beweisen von Theoremen oder das Schreiben von Büchern). Die Erstellung guter Software erfordert einen deutlich höheren Genauigkeitsstandard als diese anderen Dinge und erfordert eine längere Aufmerksamkeitsspanne als andere intellektuelle Aufgaben.

  • ...methoden sind wichtiger als Fakten. Der pädagogische Wert eines Problems, das einem Schüler gegeben wird, hängt hauptsächlich davon ab, wie oft die Denkprozesse, die aufgerufen werden, um es zu lösen, in späteren Situationen hilfreich sein werden. Es hat wenig damit zu tun, wie nützlich die Antwort auf das Problem sein kann. Andererseits muss ein gutes Problem auch die Schüler motivieren; Sie sollten daran interessiert sein, die Antwort zu sehen. Da die Schüler so unterschiedlich sind, kann ich nicht erwarten, dass jeder die Probleme mag, die mir gefallen.