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

בריאן וילסון קרניהאן (Brian Wilson Kernighan, נולד ב-1 בינואר 1942) הוא מדען מחשב קנדי, שעבד במעבדות בל לצד יוצרי מערכת ההפעלה יוניקס, קן תומפסון ודניס ריצ'י, ותרם להתפתחות של יוניקס. הוא גם מחבר שותף של שפות התכנות AWK ו-AMPL (ה-"K" בשם היא משמו). מאז שנת 2000 קרניהאן הוא פרופסור במחלקה למדעי המחשב באוניברסיטת פרינסטון.

קרניהאן התפרסם מאוד עם כתיבת הספר הראשון אודות שפת התכנות C, אותו כתב יחד עם דניס ריצ'י וידוע כ-"K&R" על שם ראשי התיבות של שמם. קרניהאן אישר כי לא היה לו חלק בעיצובה של שפת C ("זה לגמרי העבודה של דניס ריצ'י"). הוא כתב תוכניות יוניקס רבות, כולל Ditroff, ו-Cron לגרסה 7 של יוניקס.

== קורות חייו==
קרניהאן נולד בטורונטו ולמד באוניברסיטת טורונטו בין השנים 1960 ו-1964, שם סיים את לימודי התואר הראשון בפיזיקה והנדסה. הוא קיבל את הדוקטורט שלו בהנדסת חשמל מאוניברסיטת פרינסטון, שבה הוא מחזיק פרופסורה במחלקה למדעי המחשב מאז שנת 2000. כל סתיו הוא מלמד קורס שנקרא "מחשבים בעולמנו", אשר סוקר את יסודות המחשוב למתחילים.

בשיתוף פעולה עם שן לין הוא המציא היוריסטיקה ידועה לשתי בעיות אופטימיזציה: חלוקת קודקודי גרף לשני חלקים שווים תוך מזעור משקל הקשתות בחתך ובעיית הסוכן הנוסע. שתי הבעיות הן NP שלמות.

קרניהאן היה עורך התוכנה של פרנטיס הול אינטרנשיונל. סדרת "כלי התכנה" שלו הפיצה את הבשורה בדבר "חשיבת C / Unix" עם השינויים המהותיים, שגררה בשפות התכנות בייסיק, פורטרן ופסקל, ובמסגרת זו גם הועמד לרשות הציבור ה-Ratfor (קיצור של Rational FORTRAN, שפת תכנות, המשמשת כקדם-מעבד ל-Fortran 66) שלו.

שמו של קרניהאן נקשר באמירה ש"אם (נגזר) להיתקע באי (בודד) עם שפת תכנות אחת בלבד, הרי שעדיף שתהא זו שפת C".

קרניהאן טבע את המונח יוניקס ועזר להפוך את פילוסופיית יוניקס של תומפסון לפופולרית. בנוסף, טבע קרניהאן את הביטוי "מה שאתה רואה זה כל מה שתקבל" (WYSIAYG), שהוא פרפרזה למשפט הידוע "מה שאתה רואה הוא מה שאתה מקבל" (WYSIWYG). נהוג להשתמש במשפט של קרניהאן כדי לציין שמערכות WYSIWYG עלולות לאבד מידע, שעשוי להיות שימושי בהקשרים אחרים.

היישום המקורי של קרניהאן של "שלום, עולם!" ("!Hello, World") משנת 1978 נמכר במכרז האלגוריתם, שהוא המכרז הראשון בעולם של אלגוריתמי מחשב.

== תקציר הישגיו ==
* שפת התכנות 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) עם אלן דונובן.

== קישורים חיצוניים ==

* 

<div class="mw-content-ltr">
* [https://web.archive.org/web/20081019090418/http://cm.bell-labs.com/who/bwk/ Brian Kernighan's home page at Bell Labs]</div></div><div class="mw-content-ltr"><div class="mw-content-ltr">
* [http://www.lysator.liu.se/c/bwk-on-pascal.html "Why Pascal is Not My Favorite Programming Language" — By Brian Kernighan, AT&T Bell Labs, 2 April 1981]
* [http://www.harmonyatwork.in/blog/2009/10/leap-in-and-try-things/ "Leap In and Try Things" — Interview with Brian Kernighan — on "Harmony at Work Blog", October 2009].
* [http://www.cs.cmu.edu/~mihaib/kernighan-interview/index.html An Interview with Brian Kernighan — By Mihai Budiu, for PC Report Romania, August 2000]
* [https://web.archive.org/web/20090428163341/http://www.princeton.edu/~mike/unixhistory Transcript of an interview with Brian Kernighan at the Wayback Machine] (archived April 28, 2009) – Interview by [https://web.archive.org/web/20090528015718/http://www.princeton.edu/~mike/ Michael S. Mahoney] at the Wayback Machine (archived May 28, 2009)
* Video — TechNetCast At Bell Labs: Dennis Ritchie and Brian Kernighan (1999-05-14[http://www.drdobbs.com/?stream_id=25 Video]
* [https://mediacentral.princeton.edu/ Video (Princeton University, September 7, 2003)] — "Assembly for the Class of 2007: 'D is for Digital and Why It Matters'"
* A Descent into Limbo by Brian Kernighan[http://doc.cat-v.org/inferno/4th_edition/limbo_language/descent A Descent into Limbo]
* [https://web.archive.org/web/20160303234158/http://www.adeptis.ru/vinci/m_part6.html Photos of Brian Kernighan]
* [https://openlibrary.org/authors/OL946967A/Brian_W._Kernighan Works by Brian Kernighan at Open Library]
* [https://web.archive.org/web/20150317024853/http://princetonstartuptv.com/post/49379235060/the-legendary-brian-kernighan-on-teaching Video interview with Brian Kernighan for Princeton Startup TV] (2012-03-20)
* [https://usesthis.com/interviews/brian.kernighan/ The Setup, Brian Kernighan]</div>
</div>

== הערות שוליים ==

קטגוריה:מדעני מחשב קנדים
קטגוריה:בוגרי אוניברסיטת טורונטו
קטגוריה:בעלי תואר דוקטור מאוניברסיטת פרינסטון
קטגוריה:קנדים שנולדו ב-1942
קטגוריה:סגל מעבדות בל