Brian Kernighan
Brian Kernighan | |
|---|---|
Brian Kernighan presenting at Vintage Computer Festival East in April 2025 | |
| Born | Brian Wilson Kernighan January 30, 1942 |
| Nationality | Canadian |
| Citizenship | Canada |
| Alma mater | University of Toronto (BASc) Princeton University (PhD) |
| Known for | |
| Scientific career | |
| Fields | Computer science |
| Institutions | Princeton University |
| Thesis | Some Graph Partitioning Problems Related to Program Segmentation (1969) |
| Doctoral advisor | Peter Weiner |
| Website | www |
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.