דונלד קנות'
דונלד ארווין קנות' (Donald Ervin Knuth; נולד ב-10 בינואר 1938) הוא מדען מחשב ומתמטיקאי אמריקאי. הוא פרופסור אמריטוס באוניברסיטת סטנפורד. בשנת 1974 זכה בפרס טיורינג של ה-ACM, הנחשב באופן לא רשמי לפרס נובל של מדעי המחשב. קנות' מכונה "אבי ניתוח האלגוריתמים".
קנות' הוא מחבר היצירה רבת-הכרכים "אמנות התכנות" (The Art of Computer Programming). הוא תרם לפיתוח הניתוח הקפדני של סיבוכיות חישובית של אלגוריתמים ושיטתיות של טכניקות מתמטיות פורמליות עבורו. בתהליך זה, הוא גם הפך את הסימון האסימפטוטי לפופולרי. בנוסף לתרומות יסוד בכמה ענפים של מדעי המחשב התאורטיים, קנות' הוא היוצר של מערכת הסדר הטיפוגרפי TeX, שפת הגדרת הגופנים ומערכת הרינדור הקשורה METAFONT, ומשפחת הגופנים Computer Modern.
כסופר וחוקר, קנות' יצר את מערכות התכנות WEB ו-CWEB שנועדו לעודד ולהקל על תכנות קריא (literate programming), ועיצב את ארכיטקטורות מערך ההוראות MIX/MMIX. הוא מתנגד נחרצות למתן פטנטים על תוכנה, והביע את דעתו בפני משרד הפטנטים וסימני המסחר של ארצות הברית ומשרד הפטנטים האירופי.
ביוגרפיה
### חיים מוקדמים
דונלד קנות' נולד במילווקי, ויסקונסין, לארווין הנרי קנות' ולואיז מארי בוהנינג. הוא מתאר את מורשתו כ"לותרנית גרמנית מהמערב התיכון". אביו החזיק בעסק דפוס קטן ולימד הנהלת חשבונות. כסטודנט בתיכון מילווקי לותרן, קנות' חשב על דרכים גאוניות לפתרון בעיות. לדוגמה, בכיתה ח', הוא השתתף בתחרות למציאת מספר המילים שניתן ליצור מסידור מחדש של האותיות בביטוי "Ziegler's Giant Bar"; השופטים זיהו 2,500 מילים כאלה. בזמן שהתפנה לו מבית הספר עקב כאב בטן מדומה, קנות' השתמש במילון מלא וקבע האם ניתן ליצור כל ערך מילוני באמצעות האותיות בביטוי. הוא זיהה מעל 4,500 מילים וזכה בתחרות. כפרסים, בית הספר קיבל טלוויזיה חדשה ומספיק חטיפי ממתקים לכל חבריו לספסל הלימודים.
### השכלה
קנות' קיבל מלגה בפיזיקה למכון הטכנולוגי קייס (כיום חלק מאוניברסיטת קייס וסטרן ריזרב) בקליבלנד, אוהיו, והחל ללמוד בו ב-1956. הוא גם הצטרף לפרק בטא נו של אחוות תטא צ'י. בזמן שלמד פיזיקה בקייס, קנות' נחשף ל-IBM 650, מחשב מסחרי מוקדם. לאחר קריאת המדריך של המחשב, קנות' החליט לשכתב את קוד האסמבלי והקומפיילר עבור המכונה ששימשה בבית ספרו מכיוון שהאמין שהוא יכול לעשות זאת טוב יותר.
בשנת 1958, קנות' יצר תוכנית כדי לעזור לקבוצת הכדורסל של בית ספרו לנצח במשחקים. הוא הקצה "ערכים" לשחקנים כדי לאמוד את הסתברותם לקלוע נקודות, גישה חדשנית שדיווחו עליה מאוחר יותר ניוזוויק ו-CBS Evening News.
קנות' היה אחד העורכים המייסדים של ה-Engineering and Science Review של מכון קייס, שזכה בפרס לאומי כמגזין הטכני הטוב ביותר בשנת 1959. לאחר מכן הוא עבר מפיזיקה למתמטיקה, וקיבל שני תארים מקייס בשנת 1960: תואר ראשון במדעים, ובמקביל תואר שני במדעים על ידי פרס מיוחד של הפקולטה, שראתה בעבודתו יוצאת דופן.
בסוף שנת הלימודים האחרונה שלו בקייס ב-1960, קנות' הציע לחברת בורוז (Burroughs Corporation) לכתוב קומפיילר ALGOL עבור ה-B205 תמורת 5,500 דולר. ההצעה התקבלה והוא עבד על הקומפיילר בין סיום לימודיו בקייס לבין המעבר לקלטק.
בשנת 1963, עם המתמטיקאי מרשל הול כמנחה שלו, הוא קיבל דוקטורט במתמטיקה מהמכון הטכנולוגי של קליפורניה (Caltech), עם תזה שכותרתה Finite Semifields and Projective Planes.
### עבודה מוקדמת
בשנת 1963, לאחר קבלת הדוקטורט, הצטרף קנות' לסגל קלטק כפרופסור עוזר.
בזמן שהיה בקלטק ולאחר הצלחת הקומפיילר ALGOL ל-Burroughs B205, הוא הפך ליועץ של חברת בורוז, והצטרף למחלקת תכנון מוצרים. בקלטק הוא פעל כמתמטיקאי, אך בבורוז כמתכנת, ועבד עם האנשים שלדעתו כתבו את התוכנה הטובה ביותר באותה עת: הקומפיילר ALGOL למחשב B220 (היורש של ה-B205).
קנות' דחה חוזה של 100,000 דולר לכתיבת קומפיילרים בחברת Green Tree, והחליט במקום זאת למקסם הכנסה ולהמשיך בקלטק ובבורוז. הוא קיבל מלגת הקרן הלאומית למדע ומלגת קרן וודרו וילסון, אך הן הותנו בכך שהמקבל לא יעשה דבר מלבד לימודים כסטודנט לתואר מתקדם, כך שלא יוכל להמשיך כיועץ לבורוז. הוא בחר לדחות את המלגות והמשיך עם בורוז. בקיץ 1962, הוא כתב קומפיילר FORTRAN עבור Univac, אך החשיב זאת כ"מכירת נשמתי לשטן".
לאחר סיום לימודיו, קנות' חזר לבורוז ביוני 1961, אך לא סיפר להם שסיים עם תואר שני, במקום התואר הראשון המצופה. התרשמותו מתרשים התחביר של ALGOL, טבלת הסמלים, גישת ה-recursive-descent, וההפרדה בין פונקציות הסריקה, הניתוח והפלט של הקומפיילר, הובילה את קנות' להציע הרחבה לטבלת הסמלים: שסמל אחד יכול לייצג מחרוזת של סמלים. זה הפך לבסיס של ה-DEFINE ב-Burroughs ALGOL, שאומץ מאז על ידי שפות אחרות. עם זאת, היו כאלה שממש לא אהבו את הרעיון ורצו להסיר את DEFINE. האדם האחרון שחשב שזה רעיון נורא היה אדסחר דייקסטרה בביקור בבורוז.
קנות' עבד על שפות סימולציה בבורוז, והפיק את SOL ('Simulation Oriented Language'), שיפור של המצב הקיים, שתוכנן בשיתוף עם ג'יי מקנילי. הוא השתתף בכנס בנורווגיה במאי 1967, שאורגן על ידי האנשים שהמציאו את שפת Simula. קנות' השפיע על בורוז להשתמש ב-Simula. לקנות' הייתה התקשרות ארוכה עם בורוז כיועץ מ-1960 עד 1968 עד למעברו לעבודה אקדמית יותר בסטנפורד ב-1969.
בשנת 1962, קנות' קיבל הזמנה מ-Addison-Wesley לכתוב ספר על קומפיילרים לשפות תכנות. בזמן שעבד על פרויקט זה, הוא החליט שלא יוכל להתייחס לנושא כראוי מבלי לפתח תחילה תאוריה בסיסית של תכנות מחשבים, שהפכה ל"אמנות התכנות". הוא תכנן במקור לפרסם זאת כספר יחיד, אך ככל שפיתח את קווי המתאר לספר, הגיע למסקנה שהוא זקוק לשישה כרכים, ואז לשבעה, כדי לכסות את הנושא ביסודיות. הוא פרסם את הכרך הראשון בשנת 1968.
רגע לפני פרסום הכרך הראשון של "אמנות התכנות", קנות' עזב את קלטק כדי לקבל עבודה בחטיבת המחקר התקשורתי של המכון לניתוחי הגנה (Institute for Defense Analyses), ששכן אז בקמפוס פרינסטון, אשר ביצע מחקר מתמטי בקריפטוגרפיה כדי לתמוך בסוכנות לביטחון לאומי (NSA).
בשנת 1967, קנות' השתתף בכנס של האגודה למתמטיקה תעשייתית ויישומית (SIAM) ומישהו שאל מה הוא עושה. באותה עת, מדעי המחשב היו מחולקים לניתוח נומרי, בינה מלאכותית ושפות תכנות. בהתבסס על מחקרו ועל הספר "אמנות התכנות", קנות' החליט שבפעם הבאה שמישהו ישאל הוא יגיד, "ניתוח אלגוריתמים".
בשנת 1969, קנות' עזב את תפקידו בפרינסטון כדי להצטרף לסגל אוניברסיטת סטנפורד, שם הפך לפרופסור למדעי המחשב על שם פלטשר ג'ונס ב-1977. הוא הפך לפרופסור ל"אמנות התכנות" ב-1990, והוא אמריטוס מאז 1993.
Twenty questions, eight minutes on the clock, and a percentile measured against everyone who has taken it. No sign-up.
Take the IQ test →כתבים
קנות' הוא סופר כמו גם מדען מחשב.
### אמנות התכנות (TAOCP)
> "הדרך הטובה ביותר לתקשר מבן אדם אחד למשנהו היא דרך סיפור."
– דונלד קנות'
בשנות ה-70, קנות' כינה את מדעי המחשב "תחום חדש לחלוטין ללא זהות אמיתית. והסטנדרט של הפרסומים הזמינים לא היה גבוה כל כך. הרבה מהמאמרים שיצאו היו פשוט שגויים... אז אחת המוטיבציות שלי הייתה ליישר סיפור שסופר בצורה גרועה מאוד."
מ-1972 עד 1973, קנות' בילה שנה באוניברסיטת אוסלו בין אנשים כמו אולה-יוהאן דאל. זה המקום שבו תכנן במקור לכתוב את הכרך השביעי בסדרת הספרים שלו, שהיה אמור לעסוק בשפות תכנות. אבל קנות' סיים רק את שני הכרכים הראשונים כשהגיע לאוסלו, ולכן בילה את השנה על הכרך השלישי, לצד הוראה. הכרך השלישי יצא מיד לאחר שקנות' חזר לסטנפורד ב-1973.
הספר "מתמטיקה קונקרטית: יסודות למדעי המחשב" (Concrete Mathematics) מקורו בהרחבה של סעיף המבוא המתמטי של כרך 1 של TAOCP. קנות' מצא שיש כלים מתמטיים הנחוצים לכרך 1, אך חסרים ברפרטואר שלו, והחליט שקורס המציג את הכלים הללו לסטודנטים למדעי המחשב יהיה שימושי. קנות' הציג את הקורס בסטנפורד ב-1970. הערות הקורס שפותחו על ידי אורן פטשניק התפתחו לטקסט של 1988, עם המחברים רונלד גרהאם, קנות' ופטשניק. מהדורה שנייה של "מתמטיקה קונקרטית" פורסמה ב-1994.
עד 2011, כרך 4A של TAOCP פורסם. באפריל 2020, קנות' אמר שהוא צופה שכרך 4 של TAOCP יכלול לפחות את חלקים A עד F. כרך 4B פורסם באוקטובר 2022.
### עבודות אחרות
קנות' הוא גם מחבר הספר "מספרים סוריאליסטיים" (Surreal Numbers), נובלה מתמטית על בניית תורת הקבוצות של ג'ון הורטון קונוויי למערכת חלופית של מספרים. במקום להסביר את הנושא בפשטות, הספר מבקש להראות את התפתחות המתמטיקה. קנות' רצה שהספר יכין סטודנטים לביצוע מחקר מקורי ויצירתי.
בשנת 1995, קנות' כתב את ההקדמה לספר A=B מאת מרקו פטקובשק, הרברט וילף ודורון ציילברגר. הוא גם תורם מדי פעם חידות לשוניות ל-Word Ways: The Journal of Recreational Linguistics.
קנות' התעמק במתמטיקה פנאית. הוא תרם מאמרים ל-Journal of Recreational Mathematics החל משנות ה-60, והוכר כתורם מרכזי בספרו של ג'וזף מדצ'י "Mathematics on Vacation".
קנות' מופיע גם במספר סרטוני Numberphile ו-Computerphile ביוטיוב, שם הוא דן בנושאים מכתיבת "מספרים סוריאליסטיים" ועד לסיבה שהוא לא משתמש בדואר אלקטרוני.
קנות' הציע את השם "אלגוריתמיקה" כשם טוב יותר למשמעת של מדעי המחשב.
קנות' תרם תרומה משמעותית לחקר בעיית השידוך היציב.
### עבודות על אמונותיו הדתיות
בנוסף לכתביו על מדעי המחשב, קנות', לותרני, הוא גם מחבר הספר "3:16 Bible Texts Illuminated", שבו הוא בוחן את התנ"ך בתהליך של דגימה שיטתית, כלומר ניתוח של פרק 3, פסוק 16 של כל ספר. כל פסוק מלווה בעיבוד באמנות קליגרפית, שנתרם על ידי קבוצת קליגרפים בהובלת הרמן צאפ. קנות' הוזמן להעביר סדרת הרצאות ב-MIT על ההשקפות על דת ומדעי המחשב מאחורי פרויקט ה-3:16 שלו, מה שהוביל לספר נוסף, "דברים שמדען מחשב מדבר עליהם לעיתים רחוקות" (Things a Computer Scientist Rarely Talks About), שבו פרסם את ההרצאות "אלוהים ומדעי המחשב".
### דעה על פטנטים על תוכנה
קנות' מתנגד נחרצות למתן פטנטים על תוכנה לפתרונות טריוויאליים שצריכים להיות מובנים מאליהם, אך הביע דעות מורכבות יותר עבור פתרונות לא טריוויאליים כגון שיטת הנקודה הפנימית של תכנות ליניארי. הוא הביע את אי-הסכמתו ישירות בפני משרד הפטנטים וסימני המסחר של ארצות הברית ומשרד הפטנטים האירופי.
תכנות
### סדר טיפוגרפי דיגיטלי
בשנות ה-70, המוציאים לאור של TAOCP נטשו את ה-Monotype לטובת סדר צילומי. קנות' הפך מתוסכל כל כך מחוסר היכולת של המערכת האחרונה להתקרב לאיכות הכרכים הקודמים, שסודרו באמצעות המערכת הישנה, שהוא הקדיש זמן לעבודה על סדר טיפוגרפי דיגיטלי ויצר את TeX ו-Metafont.
### תכנות קריא
בזמן שפיתח את TeX, קנות' יצר מתודולוגיה חדשה של תכנות, אותה כינה תכנות קריא (literate programming), מכיוון שהאמין שמתכנתים צריכים לחשוב על תוכניות כיצירות ספרותיות:
> במקום לדמיין שהמשימה העיקרית שלנו היא להורות למחשב מה לעשות, בואו נתרכז במקום זאת בהסבר לבני אדם מה אנחנו רוצים שהמחשב יעשה.
קנות' גילם את הרעיון של תכנות קריא במערכת WEB. אותו מקור WEB משמש לאריגת קובץ TeX, ולסיבוך (tangle) של קובץ מקור Pascal. אלה בתורם מייצרים תיאור קריא של התוכנית וקובץ בינארי להרצה בהתאמה. איטרציה מאוחרת יותר של המערכת, CWEB, מחליפה את Pascal ב-C, C++ ו-Java.
קנות' השתמש ב-WEB כדי לתכנת את TeX ו-METAFONT, ופרסם את שתי התוכניות כספרים, שניהם פורסמו במקור באותה שנה: TeX: The Program (1986); ו-METAFONT: The Program (1986). בערך באותו זמן, LaTeX, חבילת המאקרו המאומצת כיום באופן נרחב המבוססת על TeX, פותחה לראשונה על ידי לסלי למפורט, שפרסם מאוחר יותר את המדריך למשתמש הראשון שלה ב-1986.
חיים אישיים
דונלד קנות' התחתן עם ננסי ג'יל קרטר ב-24 ביוני 1961, בזמן שהיה סטודנט לתואר מתקדם במכון הטכנולוגי של קליפורניה. יש להם שני ילדים: ג'ון מרטין קנות' וג'ניפר סיירה קנות'.
קנות' מעביר הרצאות לא רשמיות כמה פעמים בשנה באוניברסיטת סטנפורד, אותן הוא מכנה "הגיגים מחשביים" (Computer Musings). הוא היה פרופסור אורח במחלקה למדעי המחשב של אוניברסיטת אוקספורד בבריטניה עד 2017 ועמית כבוד של מגדלן קולג'.
קנות' הוא נגן עוגב ומלחין. הוא ואביו שימשו כנגני עוגב עבור קהילות לותרניות. לקנות' ולאשתו יש עוגב בעל 16 מדרגות בביתם. בשנת 2016 הוא השלים יצירה לעוגב, Fantasia Apocalyptica, אותה הוא מכנה "תרגום של הטקסט היווני של חזון יוחנן למוזיקה". היא הושמעה בבכורה בשוודיה ב-10 בינואר 2018.
שמו הסיני של קנות' הוא גאו דנה (סינית מפושטת: 高德纳; סינית מסורתית: 高德納; פין-יין: Gāo Dénà). הוא קיבל שם זה בשנת 1977 על ידי פרנסס יאו זמן קצר לפני שיצא לטיול של שלושה שבועות בסין. בתרגום הסיני משנת 1980 של כרך 1 של "אמנות התכנות" (סינית מפושטת: 计算机程序设计艺术; סינית מסורתית: 計算機程式設計藝術; פין-יין: Jìsuànjī chéngxù shèjì yìshù), קנות' מסביר שהוא אימץ את שמו הסיני מכיוון שרצה להיות מוכר על ידי המספרים הגדלים של מתכנתי מחשבים בסין באותה עת. בשנת 1989, שמו הסיני הושם בראש הכותרת של ה-Journal of Computer Science and Technology, מה שקנות' אומר ש"גורם לי להרגיש קרוב לכל העם הסיני למרות שאני לא יכול לדבר את שפתכם".
### הומור
קנות' נהג לשלם דמי מוצא של 2.56 דולר עבור כל שגיאות דפוס או טעויות שהתגלו בספריו, מכיוון ש"256 פני הם דולר הקסדצימלי אחד", ו-0.32 דולר עבור "הצעות בעלות ערך". על פי מאמר ב-Technology Review של המכון הטכנולוגי של מסצ'וסטס (MIT), צ'קי התגמול של קנות' הם "בין הגביעים המוערכים ביותר בעולם המחשבים". קנות' נאלץ להפסיק לשלוח צ'קים אמיתיים ב-2008 עקב הונאות בנקאיות, וכעת נותן לכל מוצא שגיאה "תעודת פיקדון" מיתרה רשומה בציבור ב"בנק סן סריף" הבדיוני שלו.
פעם הוא הזהיר כתב: "היזהרו מבאגים בקוד לעיל; רק הוכחתי שהוא נכון, לא ניסיתי אותו."
קנות' פרסם את מאמרו ה"מדעי" הראשון במגזין בית ספר ב-1957 תחת הכותרת "מערכת המשקולות והמידות של פוטרזבי" (The Potrzebie System of Weights and Measures). בו, הוא הגדיר את יחידת האורך הבסיסית כעובי של מגזין Mad מס' 26, וקרא ליחידת הכוח הנגזרת "whatmeworry". Mad פרסם את המאמר בגיליון מס' 33 (יוני 1957).
כדי להדגים את מושג הרקורסיה, קנות' הפנה בכוונה את "הגדרה מעגלית" ו"הגדרה, מעגלית" אחד לשני באינדקס של "אמנות התכנות", כרך 1.
בהקדמה של "מתמטיקה קונקרטית" מופיעה הפסקה הבאה:
> כש-DEK לימד מתמטיקה קונקרטית בסטנפורד בפעם הראשונה, הוא הסביר את הכותרת המוזרה במקצת באומרו שזה היה ניסיונו ללמד קורס מתמטיקה שהיה קשה במקום רך. הוא הודיע כי, בניגוד לציפיות עמיתיו, הוא לא הולך ללמד את תורת הקבוצות, ולא את משפט השיכון של סטון, ואפילו לא את הקומפקטיפיקציה של סטון-צ'ך. (כמה סטודנטים מהמחלקה להנדסה אזרחית קמו ועזבו בשקט את החדר.)
בכנס TUG 2010, קנות' הכריז על יורש סאטירי מבוסס XML ל-TeX, שכותרתו "iTeX" (נהגה [iː˨˩˦tɛks˧˥⸨פעמון⸩], נאמר תוך צלצול בפעמון), אשר יתמוך בתכונות כגון יחידות אי-רציונליות בקנה מידה שרירותי, הדפסת תלת-ממד, קלט מסייסמוגרפים ומוני דופק, אנימציה וסאונד סטריאופוני.
פרסים והוקרה
בשנת 1971, קנות' קיבל את פרס גרייס מארי הופר הראשון של ה-ACM. הוא קיבל פרסים שונים אחרים, כולל פרס טיורינג, פרס לירוי פ. סטיל, המדליה הלאומית למדעים, מדליית ג'ון פון נוימן ופרס קיוטו.
קנות' נבחר לעמית מכובד של האגודה הבריטית למחשבים (DFBCS) בשנת 1980 כהוקרה על תרומתו לתחום מדעי המחשב.
בשנת 1990, הוענק לו התואר האקדמי הייחודי פרופסור ל"אמנות התכנות"; התואר תוקן מאז לפרופסור אמריטוס ל"אמנות התכנות".
קנות' נבחר לאקדמיה הלאומית למדעים ב-1975. הוא נבחר גם לחבר באקדמיה הלאומית להנדסה ב-1981 על ארגון תחומי נושא עצומים של מדעי המחשב כך שיהיו נגישים לכל חלקי קהילת המחשוב. בשנת 1992, הוא הפך לעמית של האקדמיה הצרפתית למדעים. באותה שנה, הוא פרש ממחקר והוראה סדירים באוניברסיטת סטנפורד כדי לסיים את "אמנות התכנות". בשנת 1996, הוענק לו תואר דוקטור לשם כבוד בתחום המדעים המתמטיים מהפקולטה לאינפורמטיקה של אוניברסיטת מסריק בברנו. הוא נבחר לחבר זר של החברה המלכותית בשנת 2003.
קנות' נבחר כעמית (הדרג הראשון של עמיתים) של האגודה למתמטיקה תעשייתית ויישומית (SIAM) בשנת 2009 על תרומתו יוצאת הדופן למתמטיקה. הוא חבר באקדמיה הנורווגית למדעים וספרות. בשנת 2012, הוא הפך לעמית של האגודה האמריקאית למתמטיקה וחבר באגודה הפילוסופית האמריקאית. פרסים והוקרה אחרים כוללים:
פרס גרייס מארי הופר הראשון של ה-ACM, 1971
- פרס גולדן פלייט של האקדמיה האמריקאית להישגים, 1985
- פרס לירוי פ. סטיל של האגודה האמריקאית למתמטיקה, 1986
- עמית של מוזיאון היסטוריית המחשב "על עבודתו המוקדמת והיסודית בהיסטוריה של אלגוריתמי מחשוב, פיתוח שפת הסדר הטיפוגרפי TeX, ועבור תרומות מרכזיות למתמטיקה ומדעי המחשב." 1998
- אסטרואיד 21656 Knuth, שנקרא על שמו במאי 2001
- פרס קטאינאגי למצוינות במחקר (קרנגי מלון), 2010
- פרס קרן BBVA לחזיתות הידע בקטגוריה של טכנולוגיות מידע ותקשורת, 2010
- פרס הגיבור של בית הספר להנדסה של אוניברסיטת סטנפורד, 2011
פרסומים
רשימה קצרה של פרסומיו כוללת:
אמנות התכנות:
- ——— (1997). The Art of Computer Programming. Vol. 1: Fundamental Algorithms (3rd ed.). Addison-Wesley Professional. ISBN 978-0-201-89683-1.
- ——— (1997). The Art of Computer Programming. Vol. 2: Seminumerical Algorithms (3rd ed.). Addison-Wesley Professional. ISBN 978-0-201-89684-8.
- ——— (1998). The Art of Computer Programming. Vol. 3: Sorting and Searching (2nd ed.). Addison-Wesley Professional. ISBN 978-0-201-89685-5.
- ——— (2011). The Art of Computer Programming. Vol. 4A: Combinatorial Algorithms, Part 1. Addison-Wesley Professional. ISBN 978-0-201-03804-0.
- ——— (2022). The Art of Computer Programming. Vol. 4B: Combinatorial Algorithms, Part 2. Addison-Wesley Professional. ISBN 978-0-201-03806-4.
- ——— (2005). MMIX—A RISC Computer for the New Millennium. Vol. 1, Fascicle 1. Pearson Education. ISBN 978-0-201-85392-6.
- ——— (2008). The Art of Computer Programming. Vol. 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions. Addison-Wesley. ISBN 978-0-321-53496-5.
- ——— (2009). The Art of Computer Programming. Vol. 4, Fascicle 1: Bitwise Tricks & Techniques, Binary Decision Diagrams. Addison-Wesley. ISBN 978-0-321-58050-4.
- ——— (2005). The Art of Computer Programming. Vol. 4, Fascicle 2: Generating All Tuples and Permutations. Addison-Wesley. ISBN 978-0-201-85393-3.
- ——— (2005). The Art of Computer Programming. Vol. 4, Fascicle 3: Generating All Combinations and Partitions. Addison-Wesley. ISBN 978-0-201-85394-0.
- ——— (2006). The Art of Computer Programming. Vol. 4, Fascicle 4: Generating All Trees—History of Combinatorial Generation. Addison-Wesley. ISBN 978-0-321-33570-8.
- ——— (2018). The Art of Computer Programming. Vol. 4, Fascicle 5: Mathematical Preliminaries Redux, Backtracking, Dancing Links. Addison-Wesley. ISBN 978-0-134-67179-6.
- ——— (2015). The Art of Computer Programming. Vol. 4, Fascicle 6: Satisfiability. Addison-Wesley. ISBN 978-0-134-39760-3.
- ——— (2025). The Art of Computer Programming. Vol. 4, Fascicle 7: Constraint Satisfaction. Addison-Wesley. ISBN 978-0-135-32824-8.
מחשבים וסדר טיפוגרפי (כל הספרים הם בכריכה קשה אלא אם צוין אחרת):
——— (1984). Computers & Typesetting. Vol. A, The TeXbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13447-6., x+483pp.
- ——— (1984). Computers & Typesetting. Vol. A, The TeXbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13448-3. (softcover).
- ——— (1986). Computers & Typesetting. Vol. B, TeX: The Program. Reading, MA: Addison-Wesley. ISBN 978-0-201-13437-7., xviii+600pp.
- ——— (1986). Computers & Typesetting. Vol. C, The METAFONTbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13445-2., xii+361pp.
- ——— (1986). Computers & Typesetting. Vol. C, The METAFONTbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13444-5. (softcover).
- ——— (1986). Computers & Typesetting. Vol. D, METAFONT: The Program. Reading, MA: Addison-Wesley. ISBN 978-0-201-13438-4., xviii+566pp.
- ——— (1986). Computers & Typesetting. Vol. E, Computer Modern Typefaces. Reading, MA: Addison-Wesley. ISBN 978-0-201-13446-9., xvi+588pp.
- ——— (2000). Computers & Typesetting. Vol. A-E Boxed Set. Reading, MA: Addison-Wesley. ISBN 978-0-201-73416-4.
ספרי מאמרים שנאספו:
——— (1992). Literate Programming. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-0-937073-80-3.
- ——— (1996). Selected Papers on Computer Science. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-881526-91-9.
- ——— (1999). Digital Typography. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-010-7.
- ——— (2000). Selected Papers on Analysis of Algorithms. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-212-5.
- ——— (2003). Selected Papers on Computer Languages. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-381-8., ISBN 1-57586-382-0 (paperback)
- ——— (2003). Selected Papers on Discrete Mathematics. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-249-1., ISBN 1-57586-248-4 (paperback)
- Donald E. Knuth, Selected Papers on Design of Algorithms (Stanford, California: Center for the Study of Language and Information—CSLI Lecture Notes, no. 191), 2010. ISBN 1-57586-583-1 (cloth), ISBN 1-57586-582-3 (paperback)
- Donald E. Knuth, Selected Papers on Fun and Games (Stanford, California: Center for the Study of Language and Information—CSLI Lecture Notes, no. 192), 2011. ISBN 978-1-57586-585-0 (cloth), ISBN 1-57586-584-3 (paperback)
- Donald E. Knuth, Companion to the Papers of Donald Knuth (Stanford, California: Center for the Study of Language and Information—CSLI Lecture Notes, no. 202), 2011. ISBN 978-1-57586-635-2 (cloth), ISBN 1-57586-634-5 (paperback)
ספרים אחרים:
Graham, Ronald L; Knuth, Donald E.; Patashnik, Oren (1994). Concrete mathematics: A foundation for computer science (Second ed.). Reading, MA: Addison-Wesley. ISBN 978-0-201-55802-9. MR 1397498. xiv+657 pp.
- Knuth, Donald Ervin (1974). Surreal numbers: how two ex-students turned on to pure mathematics and found total happiness: a mathematical novelette. Addison-Wesley. ISBN 978-0-201-03812-5.
- Donald E. Knuth, The Stanford GraphBase: A Platform for Combinatorial Computing (New York, ACM Press) 1993. second paperback printing 2009. ISBN 0-321-60632-9
- Donald E. Knuth, 3:16 Bible Texts Illuminated (Madison, Wisconsin: A-R Editions), 1990. ISBN 0-89579-252-4
- Donald E. Knuth, Things a Computer Scientist Rarely Talks About (Center for the Study of Language and Information—CSLI Lecture Notes no 136), 2001. ISBN 1-57586-326-X
- Donald E. Knuth, MMIXware: A RISC Computer for the Third Millennium (Heidelberg: Springer-Verlag— Lecture Notes in Computer Science, no. 1750), 1999. viii+550pp. ISBN 978-3-540-66938-8
- Donald E. Knuth and Silvio Levy, The CWEB System of Structured Documentation (Reading, Massachusetts: Addison-Wesley), 1993. iv+227pp. ISBN 0-201-57569-8. Third printing 2001 with hypertext support, ii + 237 pp.
- Donald E. Knuth, Tracy L. Larrabee, and Paul M. Roberts, Mathematical Writing (Washington, D.C.: Mathematical Association of America), 1989. ii+115pp ISBN 978-0883850633
- Daniel H. Greene and Donald E. Knuth, Mathematics for the Analysis of Algorithms (Boston: Birkhäuser), 1990. viii+132pp. ISBN 978-0817647285
- Donald E. Knuth, Mariages Stables: et leurs relations avec d'autres problèmes combinatoires (Montréal: Les Presses de l'Université de Montréal), 1976. 106pp. ISBN 978-0840503428
- Donald E. Knuth, Stable Marriage and Its Relation to Other Combinatorial Problems: An Introduction to the Mathematical Analysis of Algorithms. ISBN 978-0821806036
- Donald E. Knuth, Axioms and Hulls (Heidelberg: Springer-Verlag—Lecture Notes in Computer Science, no. 606), 1992. ix+109pp. ISBN 3-540-55611-7