דניס ריצ'י

דניס ריצ'י: המחבר השקט של הדקדוק של העולם הדיגיטלי

באחד מכנסי המחשוב, במקום להתמודד עם ההכרה ששמו משך, דניס ריצ'י (Dennis M. Ritchie) פשוט החליף תגי שם עם זר כדי שיוכל לשוחח על עניינים מקצועיים ללא הפרעה. זוהי תמונה הולמת לאדם ששתי יצירותיו – שפת תכנות ומערכת הפעלה – נמצאות כיום מתחת לכמעט כל טלפון, שרת ומחשב נייד על פני כדור הארץ, בעוד הוא עצמו נותר, במילותיו של עמית, "אדם שקט ופרטי ברובו".

הרווארד, פיזיקה וסטייה לעבר המחשוב

דניס מקאליסטר ריצ'י נולד ב-9 בספטמבר 1941 בברונקסוויל, שבאיסטצ'סטר, ניו יורק, בן למדען במעבדות בל. הוא השלים תואר ראשון בפיזיקה בהרווארד (Harvard) ב-1963 ודוקטורט במתמטיקה שימושית ב-1968, לפני שהצטרף למעבדות בל (Bell Telephone Laboratories) ב-1967 – בעקבות אביו לחברה שתגדיר את כל הקריירה שלו. עבודת הדוקטורט שלו נותרה טכנית לא גמורה במובן הרשמי כפי שמתארים דיווחים מסוימים, אך עד אז המחשוב, ולא הפיזיקה, תפס את מקומו.

מ-Multics ל-PDP-7 בפינה

שנותיו הראשונות של ריצ'י במעבדות בל הוקדשו ל-Multics, מערכת הפעלה שאפתנית מרובת משתמשים שנבנתה במשותף על ידי MIT, מעבדות בל וג'נרל אלקטריק. כאשר AT&T נסוגה מהפרויקט היקר והמסורבל ב-1969, ריצ'י ועמיתו קנת' תומפסון (Kenneth Thompson) מצאו את עצמם עם מיני-מחשב מדגם DEC PDP-7 ללא מעש וללא פרויקט מאושר. מה שבא לאחר מכן, בתוך חודשים ספורים, היה יצירת יורש רזה ואלגנטי יותר: מערכת הפעלה שתומפסון וריצ'י כינו יוניקס (Unix), שהייתה פשוטה במכוון היכן ש-Multics הייתה ברוקית, ונבנתה סביב הרעיון שקבוצה קטנה של כלים הניתנים להרכבה יכולה לעשות יותר ממונולית אחד רחב ידיים.

תכנון C כדי לקדם את יוניקס

הגרסאות המוקדמות של יוניקס נכתבו ברובן בשפת סף, מה שקשר את המערכת בחוזקה לחומרה ספציפית – בדיוק הבעיה שמערכת הפעלה חדשה וניידת הייתה אמורה לפתור. סביב 1971–1972, כאשר הצוות עבד על העברת יוניקס ל-PDP-11, ריצ'י עיצב את שפת התכנות C, כשהוא בונה אותה על בסיס שפת ה-"B" המוגבלת יותר של תומפסון. C העניקה למתכנתים שליטה ברמה נמוכה הדומה לשפת סף תוך שהיא נשארת ניידת בין מכונות, ועד 1973 ריצ'י ותומפסון כתבו מחדש את ליבת יוניקס בה – החלטה שאיפשרה ליוניקס להתפשט לחומרה חדשה במהירות ובנאמנות שאף מערכת הפעלה קודמת לא הצליחה להשיג. C ויוניקס חיזקו זו את זו: יוניקס הדגימה מה שפה כמו C יכולה לבנות, והתפשטותה של C על גבי יוניקס הפכה אותה, תוך עשור, לאחת משפות התכנות הנפוצות ביותר בעולם, ומאוחר יותר הולידה את C++, Java ורבות משושלת משפחת C שעדיין דומיננטית בתוכנה כיום.

THE FREE TEST
How high is yours?

Twenty questions, eight minutes on the clock, and a percentile measured against everyone who has taken it. No sign-up.

Take the IQ test →

ספר, מדריך ותקן

בשנת 1978, ריצ'י חיבר יחד עם בריאן קרניגהאן (Brian Kernighan) את הספר שפת התכנות C (The C Programming Language), כרך דק וכתוב במדויק שהפך למפרט דה-פקטו של השפה במשך שנים לפני תקנון רשמי, ואשר הציג לדורות של מתכנתים את הדוגמה "Hello, world" המשמשת עדיין ללימוד שורת קוד ראשונה. קודם לכן הוא חיבר את מדריך המתכנת ליוניקס (Unix Programmer's Manual) ב-1971, ותיעד את המערכת עבור משתמשיה הראשונים במעבדות בל. בשנת 1990 הפך ריצ'י לראש מחלקת מחקר תוכנת מערכות במעבדות בל, שם פיקח על מערכות ההפעלה המאוחרות יותר, הפחות מצליחות מסחרית אך המשפיעות טכנית, Plan 9 ו-Inferno, שהיו הרחבות של אותה פילוסופיית תכנון שהולידה את יוניקס שני עשורים קודם לכן.

הכרה מגיעה לאט, ואז בבת אחת

ריצ'י ותומפסון חלקו את פרס טיורינג (Turing Award) לשנת 1983, הכבוד הגבוה ביותר במחשוב, על עבודתם על יוניקס – פרס שהנימוק לו זיכה את התכנון ה"גנרי" של מערכת ההפעלה בהשפעתה העצומה לאחר מכן. ריצ'י מונה לעמית מעבדות בל באותה שנה, נבחר לאקדמיה הלאומית להנדסה ב-1988, וב-1999 קיבל את המדליה הלאומית לטכנולוגיה מהנשיא קלינטון לצד תומפסון. בשנת 2011, זמן קצר לפני מותו, קיבל את פרס יפן. למרות זאת, ריצ'י נותר נעדר במידה רבה מהחיים הציבוריים בהשוואה לעמיתים בעלי השפעה דומה, כשהוא מעניק ראיונות ספורים ונמנע מסוג הסלבריטאיות שנדבקה לכמה מעמיתיו מעמק הסיליקון.

מוות

ריצ'י מת באוקטובר 2011 בביתו בברקלי הייטס, ניו ג'רזי, בגיל 70, לאחר מחלה ממושכת, לאחר שפרש במידה רבה מעין הציבור בשנותיו האחרונות. מותו, שהתרחש ימים ספורים לאחר מותו של סטיב ג'ובס, זכה לסיקור שקט יחסית – חוסר איזון שרבים בקהילה הטכנית ציינו בחדות, בהתחשב בכך שמערכות ההפעלה העומדות בבסיס המוצרים של ג'ובס עצמו ירדו ישירות מעבודתו של ריצ'י.

מדוע דניס מכונה גאון

המקרה של ריצ'י לשימוש במילה גאון נשען על סוג ספציפי ומתועד היטב של הישג אינטלקטואלי: תכנון הפשטות – שפה, מודל קבצים ותהליכים של מערכת הפעלה – שהוכיחו עמידות ויכולת יצירה הרבה מעבר למטרה המקורית והצרה שלהם, להפוך את המיני-מחשב של מעבדה אחת לשמיש. עמיתים שעבדו לצדו, כולל רוב פייק (Rob Pike), כינו אותו לא רק מוכשר אלא "מוח גדול באמת", והנימוק של ועדת פרס טיורינג עבור יוניקס שיבח במפורש את הכלליות של תכנון שנבנה כדי לפתור בעיה פנימית של חברה אחת, אך היה גמיש מספיק כדי להפוך למצע של רוב תשתית המחשוב העולמית. זהו דרגת הישג שונה באמת ממיומנות או כריזמה: זוהי הנדסה מושגית, שנשפטת על ידי עמיתים המוסמכים להעריך אותה, ומאומתת על ידי חמישה עשורים לאחר מכן של אימוץ כמעט אוניברסלי של C ושל צאצאי יוניקס כאחד. הסיבוך הכן הוא שריצ'י נדיר שעבד לבדו – יוניקס הייתה במפורש יצירה משותפת עם תומפסון, והתכנון של C ספג רעיונות שכבר היו קיימים בשפות מוקדמות – כך שהגאונות כאן היא שיתופית ומצטברת ולא קפיצה יחידה וחסרת תקדים, וריצ'י עצמו, לפי כל העדויות, היה מתנגד לתווית כמוגזמת עבור מה שהוא החשיב כעבודת הנדסה מעשית.

מורשת

צאצאיה ומימושי-המשנה של יוניקס – לינוקס (Linux), BSD, וליבת ה-Darwin של macOS ביניהם – מריצים כעת את הרוב המכריע של השרתים, הטלפונים וההתקנים המוטמעים בעולם, בעוד C נותרת בסיסית לעבודת מערכת הפעלה ותכנות מערכות חצי מאה לאחר יצירתה. השפעתו של ריצ'י אינה רגילה בכך שהיא פועלת כמעט לחלוטין מתחת לפני השטח: בניגוד לטכנולוגים הפונים לצרכן, שמו אינו ידוע במידה רבה מחוץ למחשוב, גם כאשר מיליארדי אנשים תלויים מדי יום, מבלי לדעת זאת, בכלים שהוא בנה בשולחן מעבדה בניו ג'רזי.