TAOCP

TAOCP

The Art of Computer Programming ist ein mehrbändiges Werk des amerikanischen Informatikers Donald E. Knuth über grundlegende Algorithmen und Datenstrukturen, für dessen Textsatz er die Programme TeX und Metafont entwickelt hat.

Die Beispielprogramme werden in einer von Knuth erdachten Assemblersprache dargestellt, die er für einen fiktiven „idealen“ Computer namens MIX entwickelte; dieser wird in Zukunft durch das „Nachfolgemodell“ MMIX abgelöst. Er verwendet die Assembler-Sprache MIXAL (MIX-Assembler-Language). Knuth begründet den radikalen Schritt, eine eigene Assemblersprache zu benutzen, konsequent sowohl mit technischen als auch pädagogischen Argumenten sowie der Absicht, ein langfristiges Werk zu schaffen, das nicht von der jeweiligen Modeprogrammiersprache beeinflusst sein soll.

Inhaltsverzeichnis

Vom Compilerbuch zum mehrbändigen Grundlagenwerk

Ursprünglich hatte der Verleger Knuth, der damals noch ein Student im Hauptstudium war, damit beauftragt, ein einzelnes Buch über Compiler zu schreiben. Knuth wollte jedoch alles notwendige Wissen zu diesem Thema präsentieren und dies in einer ausgereiften Form.

"I figured, as long as I’m going to do a book on compilers, I should include a few other chapters on basic techniques that people would use before they got all the way to compilers. So I threw in a chapter on everything I was interested in." (deutsch: „Ich dachte, wenn ich ein Buch über Compiler schreibe, dann sollte ich ein paar Kapitel über grundlegende Techniken einfügen, mit denen die Leute in Berührung kommen, bevor sie auf Compiler stoßen. So packte ich ein Kapitel über jedes Thema, das mich interessiert, hinzu.“) [1]

Nach Abschluss seines Studiums schrieb er dem Verleger und bat um die Erlaubnis, die Dinge mit etwas mehr Detail zu schildern.

"Do you mind if I make this book a little bit longer, because I think there’s a need for explaining these things in somewhat more detail." (deutsch: „Würde es Ihnen etwas ausmachen, wenn ich das Buch ein bisschen ausführlicher machen würde; denn ich denke, es bedarf einer etwas detaillierteren Erklärung.“)

Die Antwort seines Verlegers fiel positiv aus.

"They said, 'Oh no, go right ahead. Make it as long as you feel necessary.'” (deutsch: „Sie sagten: ‚Aber nein, fangen Sie gleich an. Machen Sie es so umfangreich, wie Sie es für nötig halten.‘“)

Der erste handgeschriebene Entwurf von 1967 umfasste 3900 Seiten. So entstand der Plan, eine siebenteilige Reihe zu verfassen, die wesentliche Grundlagen der Computerprogrammierung abdeckt.

Aufbau der Buchreihe

Die Reihe ist wie folgt geplant:

Volume 1. Fundamental Algorithms (Erstausgabe 1968)
Chapter 1: Basic Concepts
Chapter 2: Information Structures
Volume 2. Seminumerical Algorithms (Erstausgabe 1969)
Chapter 3: Random Numbers
Chapter 4: Arithmetic
Volume 3. Sorting and Searching (Erstausgabe 1973)
Chapter 5: Sorting
Chapter 6: Searching
Volume 4. Combinatorial Algorithms (Teile zur Überprüfung veröffentlicht)
Chapter 7: Combinatorical Searching
Chapter 8: Recursion
Volume 5. Syntactical Algorithms (geplanter Veröffentlichungstermin 2015)
Chapter 9: Lexical Scanning
Chapter 10: Parsing
Volume 6. The Theory of Languages
Chapter 11: The Theory of Languages
Volume 7. Compilers
Chapter 12: Compilers

Bisher sind die ersten drei Teile erschienen, bereits in mehreren überarbeiteten Auflagen. Zu Band 1 erschien 2005 ein Heft (Faszikel) mit der Spezifikation von MMIX. Band 4 wird ebenfalls seit 2005 vorab in Form von zwei Faszikeln pro Jahr veröffentlicht. Auf der Webseite von Knuth sind jeweils vor der Veröffentlichung als Faszikeln erste Vorabversionen (Pre-Fascicles) verfügbar, damit Interessierte schon vor dem Druck erste Fehler finden können. Im Anschluss wird dann Band 4 in wenigstens 3 Teilbänden veröffentlicht.

Zu den oben genannten Büchern kommt ein weiteres von Graham/Knuth/Patashnik Concrete Mathematics, welches die mathematischen Grundlagen von Band 1 in ausführlicherer Form behandelt.

Arbeitsfortschritt und Würdigung des Werkes

Obwohl Knuth bereits 1962 mit dem Schreiben begonnen hat, ist noch nicht abzusehen, wann das Werk vollendet sein wird. Der Autor rechnet mit der Fertigstellung von Band 5 im Jahr 2015. Seit 1992 befindet sich Knuth im Ruhestand, um sich ausschließlich der Fertigstellung seiner Buchreihe zu widmen. Er bekommt dadurch kein Gehalt mehr, andererseits ist The Art of Computer Programming eine kommerziell sehr erfolgreiche Reihe, in den über 20 Jahren wurden jeden Monat zwischen 1000 und 2000 Exemplare verkauft [1].

Während der Arbeit an der überarbeiteten Neuauflage von Band 2 kämpfte Knuth mit den Unzulänglichkeiten der damaligen Satztechniken und entwickelte schließlich sein eigenes System, das digitale Satzsystem TeX, das mittlerweile als Standard für Publikationen in der Mathematik und den Naturwissenschaften etabliert ist.

Die Akkuratheit seines Werkes, das der American Scientist zu den besten zwölf naturwissenschaftlichen Monographien des 20. Jahrhunderts zählt, liegt Knuth so am Herzen, dass er regelmäßig ausführliche Fehlerkorrekturen bis hin zum kleinsten Satzfehler veröffentlicht und den ersten Finder jedes Fehlers mit einem Scheck über 2,56 US-Dollar honoriert. Die Schecks werden jedoch von den meisten Empfängern nicht eingelöst, sondern eingerahmt.[2]

Literatur

  • Frenkel, Karen A.: Donald E. Knuth - Scholar with a Passion for the Particular, Communications of the ACM, October 1987, Volume 30, Number 10
  • Knuth, Donald E.: The Art of Computer Programming
    • Vol. 1: Fundamental Algorithms, 3rd ed., Addison-Wesley 1997, ISBN 0-201-89683-4, 672 Seiten
    • Vol. 1, Fascicle 1: MMIX - A RISC Computer for the New Millennium, Addison-Wesley 2005, ISBN 0-201-85392-2, 134 Seiten
    • Vol. 2: Seminumerical Algorithms, 3rd ed., Addison-Wesley 1998, ISBN 0-201-89684-2, 784 Seiten
    • Vol. 3: Sorting and Searching, 2nd ed., Addison-Wesley 1998, ISBN 0-201-89685-0, 800 Seiten
    • Vol. 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions, Addison-Wesley 2008, ISBN 0-321-53496-4, 216 Seiten
    • Vol. 4, Fascicle 2: Generating All Tuples and Permutations, Addison-Wesley 2005, ISBN 0-201-85393-0, 127 Seiten
    • Vol. 4, Fascicle 3: Generating All Combinations and Partitions, Addison-Wesley 2005, ISBN 0-201-85394-9, ca. 150 Seiten
    • Vol. 4, Fascicle 4: Generating All Trees; History of Combinatorial Generation, Addison-Wesley 2006, ISBN 0-321-33570-8, 128 Seiten

Weblinks

Einzelnachweis

  1. a b Frenkel, Karen A.: Donald E. Knuth - Scholar with a Passion for the Particular, Communications of the ACM, October 1987, Volume 30, Number 10
  2. Donald Knuth: Recent News: Financial Fiasco

Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • TAOCP — The Art of Computer Programming The Art of Computer Programming, en abrégé TAOCP, est une série de livres en plusieurs volumes sur la programmation informatique, écrits par Donald Knuth. Actuellement, seuls les trois premiers ont été… …   Wikipédia en Français

  • TAOCP — ● ►en sg. np. m. ►BOOK The Art Of Computer Programming. Série de bouquins écrits par Donald Knuth, et faisant référence en matière de cours de programmation …   Dictionnaire d'informatique francophone

  • Donald Knuth — Donald Ervin Knuth Donald Knuth at a reception for the Open Content Alliance, October 25, 2005 Born …   Wikipedia

  • The Art of Computer Programming — [ [http://www cs faculty.stanford.edu/ uno/taocp.html The Art of Computer Programming ] ] is a comprehensive monograph written by Donald Knuth that covers many kinds of programming algorithms and their analysis. Knuth began the project, which was …   Wikipedia

  • Donald Knuth — en 2005 Donald Ervin Knuth ([kəˈnuːθ] …   Wikipédia en Français

  • The Art of Computer Programming — (TAOCP) est une série de livres en plusieurs volumes sur la programmation informatique, écrits par Donald Knuth. Seuls les trois premiers ont été publiés en entier, le premier tome du quatrième volume étant paru début 2011 : Volume 1,… …   Wikipédia en Français

  • The art of computer programming — The Art of Computer Programming, en abrégé TAOCP, est une série de livres en plusieurs volumes sur la programmation informatique, écrits par Donald Knuth. Actuellement, seuls les trois premiers ont été publiés : Volume 1, Fundamental… …   Wikipédia en Français

  • MMIX — may also refer to the year 2009, in Roman numerals. MMIX (pronounced em mix ) is a 64 bit RISC instruction set architecture (ISA) designed by Donald Knuth, with significant contributions by John L. Hennessy (who contributed to the design of the… …   Wikipedia

  • MIX — is a hypothetical computer used in Donald Knuth rsquo;s monograph, The Art of Computer Programming ( TAOCP ). MIX rsquo;s model number is 1009, which was derived by combining the model numbers and names of several contemporaneous, commercial… …   Wikipedia

  • Don Knuth — Donald Knuth Donald Ervin Knuth [kəˈnuːθ][1] (* 10. Januar 1938 in Milwaukee, Wisconsin) ist emeritierter Professor für Informatik an der Stanford University u …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”