Brian Kernighan - Brian Kernighan

Brian Kernighan
Brian Kernighan w 2012 roku w Bell Labs 1.jpg
Brian Kernighan w Bell Labs w 2012 r.
Urodzić się
Brian Wilson Kernighan

1942 (wiek 78-79)
Narodowość kanadyjski
Obywatelstwo Kanada
Alma Mater Uniwersytet w Toronto
Uniwersytet Princeton (doktorat)
Znany z
Kariera naukowa
Pola Informatyka
Instytucje Uniwersytet Princeton
Praca dyplomowa Niektóre problemy z partycjonowaniem grafów związane z segmentacją programów  (1969)
Doradca doktorski Peter Weiner
Pod wpływem David J. Malan
Strona internetowa www .cs .princeton .edu /~bwk /

Brian Wilson Kernighan ( / k ɜːr n ɪ h ć n / ; ur 1942) to kanadyjski informatyk .

Pracował w Bell Labs i przyczynił się do rozwoju Unixa wraz z jego twórcami Kenem Thompsonem i Dennisem Ritchie . Nazwisko Kernighana stało się powszechnie znane dzięki współautorstwu pierwszej książki o języku programowania C ( The C Programming Language ) z Dennisem Ritchie. Kernighan potwierdził, że nie brał udziału w projektowaniu języka C („to całkowicie dzieło Dennisa Ritchiego”). Jest autorem wielu programów uniksowych, w tym ditroffa . Kernighan jest współautorem języków programowania AWK i AMPL . Litery „K” w K&R C i AWK oznaczają „Kernighan”.

We współpracy z Shen Lin opracował znaną heurystykę dla dwóch problemów optymalizacji NP-zupełnej : partycjonowania grafów i problemu komiwojażera . W pokazie słuszności autorskiej ten pierwszy jest zwykle nazywany algorytmem Kernighana-Lin , podczas gdy drugi jest znany jako heurystyka Lin-Kernighan .

Kernighan jest profesorem informatyki na Uniwersytecie Princeton od 2000 roku i jest dyrektorem studiów licencjackich na Wydziale Informatyki. W 2015 roku był współautorem książki The Go Programming Language .

Wczesne życie i edukacja

Brian Kernighan przemawia w hołdzie Dennisowi Ritchiemu w 2012 roku w Bell Labs .

Kernighan urodził się w Toronto . Uczęszczał na Uniwersytet Toronto w latach 1960 i 1964, zdobywając jego stopień licencjata w fizyce inżynierskich . Doktoryzował się. w elektrotechnice z Princeton University w 1969 roku, kończąc pracę doktorską zatytułowaną „Niektórzy wykres problemy związane z programem partycjonowania segmentacji” pod nadzorem Petera G. Weiner.

Kariera i badania

Kernighan od 2000 r. jest profesorem na Wydziale Informatyki w Princeton. Każdej jesieni prowadzi kurs „Komputery w naszym świecie”, który wprowadza podstawy informatyki do osób niebędących specjalnościami.

Kernighan był edytorem oprogramowania dla Prentice Hall International . Jego seria „Narzędzia programowe” rozpowszechniała istotę „myślenia C/Unix” poprzez przeróbki dla BASIC , FORTRAN i Pascal , a przede wszystkim jego „ Ratfor ” (racjonalny FORTRAN) został umieszczony w domenie publicznej .

Powiedział, że gdyby utknął na wyspie z tylko jednym językiem programowania, musiałby to być C.

Kernighan ukuł termin „Unix” i pomógł spopularyzować uniksową filozofię Thompsona . Kernighan jest również znany jako twórca wyrażenia „What You See Is All You Get” (WYSIAYG), które jest sarkastycznym wariantem oryginalnego „What You See Is What You Get” ( WYSIWYG ). Termin Kernighana jest używany do wskazania, że ​​systemy WYSIWYG mogą wyrzucać z dokumentu informacje, które mogą być przydatne w innych kontekstach.

W 1972 roku Kernighan opisał zarządzanie pamięcią w ciągach za pomocą „hello” i „world”, w języku programowania B , co stało się kultowym przykładem, jaki znamy dzisiaj. Oryginalna implementacja Kernighana z 1978 roku Hello, World! został sprzedany na aukcji The Algorithm Auction , pierwszej na świecie aukcji algorytmów komputerowych .

W 1996 roku Kernighan wykładał CS50, który jest kursem wprowadzającym z informatyki na Uniwersytecie Harvarda .

Kernighan został wybrany członkiem National Academy of Engineering w 2002 r. za wkład w tworzenie oprogramowania i języków programowania. W 2019 roku został również wybrany członkiem Amerykańskiej Akademii Sztuk i Nauk .

Inne osiągnięcia w jego karierze to:

Publikacje

  • Elementy stylu programowania (1974, 1978) z PJ Plauger
  • Software Tools (1976) z PJ Plauger
  • Język programowania C (1978, 1988) z Dennisem M. Ritchie
  • Narzędzia programowe w Pascalu (1981) z PJ Plauger
  • Środowisko programowania Unix (1984) z Robem Pike
  • Język programowania AWK (1988) z Alfredem Aho i Peterem J. Weinbergerem
  • Praktyka programowania (1999) z Robem Pike
  • AMPL: A Modeling Language for Mathematical Programming, wyd. (2003) z Robertem Fourerem i Davidem Gay .em
  • D jak Digital: Co dobrze poinformowana osoba powinna wiedzieć o komputerach i komunikacji (2011)
  • Język programowania Go (2015) z Alanem Donovanem
  • Zrozumieć cyfrowy świat: co musisz wiedzieć o komputerach, Internecie, prywatności i bezpieczeństwie (2017)
  • Miliony, miliardy, zillions: Obrona w świecie zbyt wielu liczb (2018)
  • UNIX: Historia i pamiętnik (2019)

Bibliografia

Zewnętrzne linki