קריסטן ניגור

קריסטן ניגור: האיש שהמציא את העצם

בכל פעם שמתכנת כותב כיום "class" (מחלקה), "object" (עצם) או "inherits" (ירושה), הוא משתמש באוצר מילים שחוקר תפעול נורווגי טבע בראשית שנות ה-60 כדי לדמות קרבות ימיים ותורים במפעלים. קריסטן ניגור (Kristen Nygaard) לא יצא במטרה להמציא מחדש את הנדסת התוכנה. הוא ביקש למדל מערכות כאוטיות ובדידות מהעולם האמיתי על מחשב שהיה קטן מדי למשימה, ותוך פתרון הבעיה המצומצמת הזו הוא בנה את הפיגומים הרעיוניים – עצמים, מחלקות, ירושה – העומדים בבסיסה של כמעט כל שפת תכנות מרכזית שנכתבה מאז.

משיטות מונטה קרלו ועד מסלולי טילים

ניגור נולד ב-27 באוגוסט 1926 באוסלו, וקיבל תואר שני במתמטיקה מאוניברסיטת אוסלו בשנת 1956 עם תזה על היבטים תיאורטיים של שיטות מונטה קרלו בתורת ההסתברות המופשטת. חיי העבודה שלו החלו לא באוניברסיטה אלא במוסד הנורווגי למחקר ביטחוני, שם בילה 12 שנים, מ-1948 עד 1960, במעבר ממחשוב ותכנות למחקר תפעולי. עד שנת 1957 הוא עמד בראש קבוצות המחקר התפעולי הביטחוני הראשון של נורווגיה, וב-1959 היה ממייסדי האגודה הנורווגית למחקר תפעולי, אותה ניהל עד 1964. זו לא הייתה סטייה אקדמית לפני תחילת העבודה ה"אמיתית" – זו הייתה העבודה שיצרה את הבעיה שסימולה נבנתה לפתור: כיצד לייצג מערכות מורכבות, אינטראקטיביות והסתברותיות, כמו ליבות כורים גרעיניים או ציי ספנות, בצורה נקייה מספיק כדי שמחשב יוכל להריץ אותן.

בניית סימולה

בשנת 1960 גייס המרכז הנורווגי למחשוב את ניגור כדי לעזור להפוך אותו למוסד מחקר של ממש, והוא הפך למנהל המחקר שלו ב-1962. שם, לצד עמיתו אולה-יוהאן דאל (Ole-Johan Dahl), הוא בילה את שנות ה-60 בפיתוח צמד שפות שעיצבו מחדש בשקט את מדעי המחשב. סימולה 1, שנבנתה בין 1961 ל-1965, ויורשתה סימולה 67, שפותחה בין 1965 ל-1968, הרחיבו את ALGOL 60 עם קבוצת רעיונות שאף אחד לא שילב קודם לכן באותו אופן: עצמים שארזו נתונים יחד עם ההליכים שפעלו עליהם, מחלקות שהגדירו משפחות של עצמים כאלו, ירושה שאיפשרה למחלקה אחת להרחיב אחרת, גדלים וירטואליים, וצורת ביצוע מרובת-תהליכונים מבוססת שגרות-משנה (coroutine). הצימוד של "עצם" ו"מחלקה" כיחידה מארגנת של תוכנית, במקום הליך או טבלת נתונים, הוא הרעיון היחיד שעל שמו קרוי תכנות מונחה-עצמים – וזהו רעיונם של ניגור ודאל, ולא עידון מאוחר של מישהו אחר.

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 →

קריירה שהמשיכה להתרחב

חייו האקדמיים של ניגור התפרסו מבסיס זה מבלי לאבד את האינסטינקט היישומי שהפיק אותו. הוא לימד באוניברסיטת אורהוס (Aarhus University) בדנמרק בין 1975 ל-1976, ולאחר מכן הצטרף לאוניברסיטת אוסלו, תחילה במשרה חלקית מ-1977 ומשרה מלאה מ-1984 עד 1996. מחקרו פנה יותר ויותר לעבר ההשלכות החברתיות של המחשוב ועזר לבסס את מה שנודע כ"אסכולה הסקנדינבית של פיתוח מערכות", הקשורה באופן הדוק לעיצוב משתף – הרעיון שהעובדים שישתמשו במערכת צריכים לעזור בתכנונה, ולא רק לקבל אותה. מ-1976 עבד עם בנט ברון כריסטנסן (Bent Bruun Kristensen), אולה לרמן מדסן (Ole Lehrmann Madsen) ובירגר מולר-פדרסן (Birger Møller-Pedersen) על BETA, שפה נוספת למטרות כלליות מונחית-עצמים שיושמה מ-1986, ובשנות ה-80 עמד בראש תוכנית המחקר הסקנדינבית SYDPOL לפני שניהל את פרויקט Cost-13 בנושא הרחבות שפה מונחות-מקצוע. תחומי המחקר האחרונים שלו היו חינוך לתכנות ראשוני, דרך יוזמה בשם למידה מקיפה מונחית-עצמים (Comprehensive Object-Oriented Learning).

האקטיביסט שהביס את האיחוד האירופי

מחוץ למדעי המחשב, ניגור חי חיים פוליטיים בעלי השפעה יוצאת דופן. הוא עבר מוועד המנהלים הלאומי של המפלגה הליברלית בשנות ה-60 למפלגת העבודה, שם ישב בוועדות מדיניות מחקר מ-1971 עד 2001. הישגו הציבורי הגדול ביותר לא היה קשור לתכנות: בשנת 1988 הוא השתלט על ועדת המידע על נורווגיה והקהילה הכלכלית האירופית, אורגנה מחדש ב-1990 כ-Nei til EF ("לא לאיחוד האירופי"), ובנה אותה לארגון הפוליטי הגדול ביותר בהיסטוריה של נורווגיה, עם 145,000 חברים מתוך אוכלוסייה של ארבעה מיליון עד 1994. הוא עמד בראש קמפיין משאל העם של 1994 נגד חברות נורווגיה באיחוד האירופי יחד עם מנהיגת מפלגת המרכז אן אנגר לנסטין (Anne Enger Lahnstein); המדינה הצביעה ברוב של 52.2 אחוזים נגד, באחוזי ההצבעה הגבוהים ביותר בהיסטוריה שלה, 88.8 אחוזים. הוא פרש מתפקידו כיו"ר ב-1995 אך המשיך לעבוד בוועדת האסטרטגיה, ומ-1996 עד 1997 סייע בתיאום התנועה האירופית נגד מאסטריכט, רשת אירופית שהתנגדה לאיחוד המוניטרי.

הכרה

הכבוד שהוענק לו נצבר בהדרגה ואז הגיע בבת אחת בסוף הקריירה שלו. אוניברסיטת לונד (Lund University) העניקה לו תואר דוקטור לשם כבוד ב-1990, אוניברסיטת אולבורג (Aalborg University) הפכה אותו לדוקטור לשם כבוד הראשון שלה ב-1991, וארגון אנשי המחשוב לאחריות חברתית העניק לו את פרס נורברט וינר (Norbert Wiener Award) לאחריות חברתית ומקצועית באותה שנה. ב-1999 הוא ודאל חלקו את פרס רוזינג (Rosing Prize) מהאגודה הנורווגית לנתונים; בשנת 2000 ה-Object Management Group הפך אותו לעמית כבוד "על מקוריותו במושגי טכנולוגיית עצמים", והמלך האראלד החמישי העניק לו תואר מפקד במסדר המלוכה הנורווגי של סנט אולב. השיא הטכני הגיע ב-2001, כאשר הוא ודאל קיבלו במשותף את מדליית ג'ון פון נוימן של ה-IEEE "על הצגת המושגים העומדים בבסיס התכנות מונחה-העצמים באמצעות התכנון והיישום של סימולה 67" – ולאחר חודשים, את פרס א.מ. טורינג (A.M. Turing Award) של ה-Association for Computing Machinery, הכבוד הגבוה ביותר במחשוב, "על רעיונות בסיסיים להופעת התכנות מונחה-העצמים, דרך התכנון שלהם את שפות התכנות סימולה 1 וסימולה 67". AITO, האגודה הבינלאומית לטכנולוגיות עצמים, כבר הקימה את פרס דאל-ניגור לכבודם בשנת 2004, הכרה שנתית קבועה לכך שהתחום רואה בהם את מייסדיו.

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

כאן המקרה מוצק בצורה יוצאת דופן, מכיוון שההוקרה אינה עיטורים של כבוד אלא הפרסים הטכניים הגבוהים ביותר בתחום, המוענקים על ידי האנשים הבונים על עבודתו בכל יום: פרס טורינג ומדליית פון נוימן מציינים שניהם את ההישג הרעיוני הספציפי – המצאת מודל העצם-מחלקה – ולא קריירה של הישגים כלליים. הספציפיות הזו חשובה. הגאונות של ניגור לא הייתה וירטואוזיות מתמטית גולמית; התזה לתואר שני שלו הייתה עבודה מוצקה אך לא יוצאת דופן בתורת מונטה קרלו, ועמיתים מייחסים בדרך כלל לדאל יותר מהקשיחות הפורמלית בעיצוב שפות בסימולה. התרומה הייחודית של ניגור הייתה רעיונית: ההכרה בכך שסימולציית אירועים בדידים דורשת יחידה חדשה של ארגון תוכנית לחלוטין, והמשמעת להכליל את היחידה הזו עד שהפכה לפרדיגמה ולא לטריק עבור תחום בעיות אחד. זהו סוג הגאונות הנדיר והקשה יותר לתיאור – לא פתרון בעיה ידועה מהר יותר מכל אחד אחר, אלא ההבחנה שקטגוריה שלמה של בעיות עתידיות חולקת מבנה נסתר שאף אחד עדיין לא נתן לו שם. הטיעון הנגדי הכן הוא שהרעיונות של סימולה נזקקו ליותר מעשור כדי להגיע למיינסטרים דרך Smalltalk, C++ ו-Java, וניגור בילה חלק גדול מהקריירה המאוחרת שלו באקטיביזם פוליטי ולא בקידום היתרון הטכני שלו – כך שהשפעתו הייתה אמיתית אך התפשטה לאט, וזכתה להכרה מוסדית רק בשנתיים האחרונות לחייו.

מורשת

ניגור נפטר מהתקף לב ב-10 באוגוסט 2002, בגיל 75, באוסלו, לאחר שנשא לאישה את יוהאנה ניגור (Johanna Nygaard) בשנת 1951 והביא לעולם שלושה ילדים שהעניקו לו שבעה נכדים. הוא גם עמד בראש ועדת הגנת הסביבה של האגודה הנורווגית להגנת הטבע ובילה שנים בעזרה בבניית מוסד חברתי ניסיוני לאלכוהוליסטים בשולי החברה – חיים, בסך הכל, שהתייחסו למחשוב, פוליטיקה ורווחה חברתית כהמשכיות של אינסטינקט אחד ולא כקריירות נפרדות. כמעט כל תוכנית מונחית-עצמים שנכתבת כיום, מתוכנה ארגונית ועד אפליקציות לנייד, עדיין פועלת על אוצר מילים שהוא ודאל המציאו כדי לדמות ספינות וכורים לפני חצי מאה.