Brian Kernighan

Brian Kernighan
Brian Kernighan presenting at Vintage Computer Festival East in April 2025
Born
Brian Wilson Kernighan

(1942-01-30) January 30, 1942
Toronto, Ontario, Canada
NationalityCanadian
CitizenshipCanada
Alma materUniversity of Toronto (BASc)
Princeton University (PhD)
Known for
Scientific career
FieldsComputer science
InstitutionsPrinceton University
ThesisSome Graph Partitioning Problems Related to Program Segmentation (1969)
Doctoral advisorPeter Weiner
Websitewww.cs.princeton.edu/~bwk/

Brian Wilson Kernighan (/ˈkɜːrnɪhæn/; born January 30, 1942) is a Canadian computer scientist. He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through co-authorship of the first book on the C programming language (The C Programming Language) with Dennis Ritchie. Kernighan affirmed that he had no part in the design of the C language ("it's entirely Dennis Ritchie's work").

Kernighan authored many Unix programs, including ditroff. He is coauthor of the AWK and AMPL programming languages. The "K" of K&R C and of AWK both stand for "Kernighan".

In collaboration with Shen Lin he devised well-known heuristics for two NP-complete optimization problems: graph partitioning and the travelling salesman problem. In a display of authorial equity, the former is usually called the Kernighan–Lin algorithm, while the latter is known as the Lin–Kernighan heuristic.

Kernighan has been a professor of computer science at Princeton University since 2000 and is the director of undergraduate studies in the department of computer science. In 2015, he co-authored the book The Go Programming Language.