בריאן קרניהאן
לידה |
1 בינואר 1942 (בן 82) טורונטו, קנדה |
---|---|
שם לידה |
Brian Wilson Kernighan |
ענף מדעי | מדעי המחשב |
מקום מגורים | קנדה |
מקום לימודים |
|
מנחה לדוקטורט |
Peter Weiner |
מוסדות |
|
www | |
תרומות עיקריות | |
Unix, AWK, AMPL, The C Programming Language | |
בריאן וילסון קרניהאן (Brian Wilson Kernighan, נולד ב-1 בינואר 1942[1]) הוא מדען מחשב קנדי, שעבד במעבדות בל לצד יוצרי מערכת ההפעלה יוניקס, קן תומפסון ודניס ריצ'י, ותרם להתפתחות של יוניקס. הוא גם מחבר שותף של שפות התכנות AWK ו-AMPL (ה-"K" בשם היא משמו). מאז שנת 2000 קרניהאן הוא פרופסור במחלקה למדעי המחשב באוניברסיטת פרינסטון.
קרניהאן התפרסם מאוד עם כתיבת הספר הראשון אודות שפת התכנות C, אותו כתב יחד עם דניס ריצ'י וידוע כ-"K&R" על שם ראשי התיבות של שמם. קרניהאן אישר כי לא היה לו חלק בעיצובה של שפת C ("זה לגמרי העבודה של דניס ריצ'י"[2]). הוא כתב תוכניות יוניקס רבות, כולל Ditroff, ו-Cron לגרסה 7 של יוניקס.
קורות חייו
[עריכת קוד מקור | עריכה]קרניהאן נולד בטורונטו ולמד באוניברסיטת טורונטו בין השנים 1960 ו-1964, שם סיים את לימודי התואר הראשון בפיזיקה והנדסה. הוא קיבל את הדוקטורט שלו בהנדסת חשמל מאוניברסיטת פרינסטון, שבה הוא מחזיק פרופסורה במחלקה למדעי המחשב מאז שנת 2000. כל סתיו הוא מלמד קורס שנקרא "מחשבים בעולמנו", אשר סוקר את יסודות המחשוב למתחילים.
בשיתוף פעולה עם שן לין הוא המציא היוריסטיקה ידועה לשתי בעיות אופטימיזציה: חלוקת קודקודי גרף לשני חלקים שווים תוך מזעור משקל הקשתות בחתך[3] ובעיית הסוכן הנוסע[4]. שתי הבעיות הן NP שלמות.
קרניהאן היה עורך התוכנה של פרנטיס הול אינטרנשיונל. סדרת "כלי התכנה" שלו הפיצה את הבשורה בדבר "חשיבת C / Unix" עם השינויים המהותיים, שגררה בשפות התכנות בייסיק, פורטרן ופסקל, ובמסגרת זו גם הועמד לרשות הציבור ה-Ratfor (קיצור של Rational FORTRAN, שפת תכנות, המשמשת כקדם-מעבד ל-Fortran 66) שלו.
שמו של קרניהאן נקשר באמירה ש"אם (נגזר) להיתקע באי (בודד) עם שפת תכנות אחת בלבד, הרי שעדיף שתהא זו שפת C"[5].
קרניהאן טבע את המונח יוניקס ועזר להפוך את פילוסופיית יוניקס של תומפסון[6] לפופולרית. בנוסף, טבע קרניהאן את הביטוי "מה שאתה רואה זה כל מה שתקבל" (WYSIAYG), שהוא פרפרזה למשפט הידוע "מה שאתה רואה הוא מה שאתה מקבל" (WYSIWYG)[דרוש מקור]. נהוג להשתמש במשפט של קרניהאן כדי לציין שמערכות WYSIWYG עלולות לאבד מידע, שעשוי להיות שימושי בהקשרים אחרים.
היישום המקורי של קרניהאן של "שלום, עולם!" ("!Hello, World") משנת 1978 נמכר במכרז האלגוריתם, שהוא המכרז הראשון בעולם של אלגוריתמי מחשב[7].
תקציר הישגיו
[עריכת קוד מקור | עריכה]- שפת התכנות AMPL.
- שפת התכנות AWK, עם אלפרד אהו ופיטר ג' וויינברגר, וספרו "שפת התכנות AWK".
- Ditroff (הרכיב העיקרי במעבדי תמלילים), שנתמך בכלל המכשירים.
- הספר "יסודות של עיצוב תכנותי", עם פ ג' פלאוג'ר.
- התוכנית המתועדת הראשונה "שלום, עולם!" בספרו של קרניהאן "מדריך להכרת שפת B" משנת 1972.
- Ratfor.
- כלי תוכנה, ספר וסדרת כלים ל-Ratfor, שנוצרו בשיתוף חלקי עם פ ג' פלאוג'ר.
- כלי תוכנה בפסקל, ספר וסדרת כלים לפסקל, שנוצרו בשיתוף עם פ ג' פלאוג'ר.
- "שפת התכנות C", עם יוצר שפת C, דניס ריצ'י, הספר הראשון על C.(אנ)
- שפת eqn ל-Troff, עם לורינדה צ'רי.
- שפת M4, עם דניס ריצ'י.
- שפת pic ל-Troff.
- "הפרקטיקה של התכנות", עם רוב פייק.(אנ)
- "סביבת הפיתוח של שפת יוניקס", ספר הדרכה, עם רוב פייק.
- "מדוע פסקל איננה שפת התכנות המועדפת עליי" (קישור), ביקורת פופולרית על יוצר שפת פסקל, ניקלאוס וירת. חלקים מסוימים של הביקורת הם מיושנים בשל ISO 7185 (שפות תכנות - פסקל); הביקורת נכתבה לפני ש-ISO 7185 נוצרה. (AT&T מחשוב המדע טכני דווח # 100).
מאמרים
[עריכת קוד מקור | עריכה]- יסודות של עיצוב תכנותי" (1974, 1978) עם פ ג' פלאוג'ר.
- כלי תוכנה (1976) עם פ ג' פלאוג'ר.
- "שפת התכנות C" (בשנים 1978, 1988) עם דניס מ. ריצ'י.
- כלי תוכנה בפסקל (1981) עם פ ג' פלאוג'ר.
- "סביבת הפיתוח של שפת יוניקס" (1984) עם רוב פייק.
- שפת התכנות AWK (שנת 1988) עם אלפרד אהו ופיטר ג' ווינברגר.
- "הפרקטיקה של התכנות" (1999) עם רוב פייק.
- AMPL: שפה ליצירת מודלים לתכנות מתמטי. מהדורה שנייה (2003) עם רוברט פורר ודייוויד גיי.
- D הוא לדיגיטלי: מה אדם יודע-דבר צריך לדעת על מחשבים ותקשורת (2011).
- שפת תכנות GO (שנת 2015) עם אלן דונובן.
קישורים חיצוניים
[עריכת קוד מקור | עריכה]אתר האינטרנט הרשמי של בריאן קרניהאן (באנגלית)
בריאן קרניהאן, ברשת החברתית Goodreads
- בריאן קרניהאן, באתר פרויקט הגנאלוגיה במתמטיקה
- בריאן קרניהאן, באתר dblp
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ "Lohr, Steve (31 October 2002). "To the Liberal Arts, He Adds Computer Science". The New York Times. "Mr. Kernighan, 60, is a renowned computer scientist
- ^ Dolya, Aleksey (29 July 2003). "Interview with Brian Kernighan". Linux Journal.
- ^ Kernighan, B. W.; Lin, Shen (1970). "An efficient heuristic procedure for partitioning graphs". Bell System Technical Journal. 49: 291–307. doi:10.1002/j.1538-7305.1970.tb01770.x.
- ^ Lin, Shen; Kernighan, B. W. (1973). "An Effective Heuristic Algorithm for the Traveling-Salesman Problem". Operations Research. 21 (2): 498–516. doi:10.1287/opre.21.2.498.
- ^ "Budiu, Mihai (July 2000). "An Interview with Brian Kernighan
- ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
- ^ Brian Kernighan – Hello World". Artsy. Artsy. Retrieved 18 June 2015".