Брајан Керниган | |
---|---|
Лични подаци | |
Пуно име | Брајан Вилсон Керниган |
Датум рођења | 1. јануар 1942. |
Место рођења | Торонто, Онтарио, Канада |
Држављанство | Канада |
Образовање | Универзитет у Торонту Универзитет Принстон |
Научни рад | |
Поље | Рачунарство |
Ментори | Питер Вајнер |
Познат по | |
Званични веб-сајт | |
www |
Брајан Вилсон Керниган (енгл. Brian Wilson Kernighan, рођен 1. јануара 1942) је канадски научник у области рачунарства који је радио у Беловим лабораторијама заједно са креаторима Јуникс оперативног система, Кеном Томпсоном и Денисом Ричијем, те је допринео развоју Јуникса. Керниган је такође коаутор AWK и AMPL програмских језика. "К" у "К&Р C", као и "К" у "AWK" означавају почетно слово његовог презимена. Од 2000. године, Керниган је професор на департману за рачунарске науке на Универзитету Принстон, где је такође и представник департмана за додипломске студенте.
Рођен у Торонту, Керниган је похађао Универзитет у Торонту између 1960. и 1964. године, где је стекао бечелорску диплому у инжењерској физици. Докторску диплому стекао је у електротехници на Универзитету Принстон 1969. године за истраживање које је надгледао Питер Вајнер.
Керниган је професор на департману за рачунарске науке на Принстону од 2000. године. Сваке јесени предаје курс под називом "Рачунари у нашем свету", којим представља основе рачунарства студентима који нису у тој струци. Керниганово име постало је широко познато по коауторству прве књиге о програмском језику C са Денисом Ричијем. Керниган је потврдио да није учествовао у дизајнирању програмског језика C ("то је у потпуности рад Дениса Ричија"). Аутор је многих програма за Јуникс, укључујући дитроф.
У сарадњи са Шен Лином, осмислио је познату хеуристику за два НП-комплетна проблема оптимизације: партиционисање графа и проблем трговачког путника. Како би показали правичност у ауторским правима, први се назива Керниган-Лин алгоритам, док је други познат као Лин-Керниганова хеуристика.
Керниган је изјавио да, ако би се насукао на пусто острво са само једним програмским језиком, то би морао бити C.