בריאן קרניגהאן

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
בריאן וילסון קרניגהאן
Brian Wilson Kernighan
Brian Kernighan in 2012 at Bell Labs 1.jpg
לידה 1 בינואר 1942 (בן 75)
טורונטו, קנדה עריכת הנתון בוויקינתונים
ענף מדעי מדעי המחשב
ארצות מגורים קנדה
תרומות עיקריות
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) עם אלן דונובן.

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא בריאן קרניגהאן בוויקישיתוף

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ "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
  2. ^ Dolya, Aleksey (29 July 2003). "Interview with Brian Kernighan". Linux Journal.
  3. ^ 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. 
  4. ^ 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. 
  5. ^ "Budiu, Mihai (July 2000). "An Interview with Brian Kernighan
  6. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
  7. ^ Brian Kernighan – Hello World". Artsy. Artsy. Retrieved 18 June 2015".