Kernighan authored many Unix programs, including ditroff. He is coauthor of the AWK and AMPLprogramming languages. The "K" of K&R C and of AWK both stand for "Kernighan".
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.[8][9][10] In 2015, he co-authored the book The Go Programming Language.
Early life and education
Kernighan was born in Toronto. He attended the University of Toronto between 1960 and 1964, earning his bachelor's degree in engineering physics.[7] He received his Ph.D. in electrical engineering from Princeton University in 1969, completing a doctoral dissertation titled "Some graph partitioning problems related to program segmentation" under the supervision of Peter G. Weiner.[11][12]
Career and research
Kernighan has held a professorship in the department of computer science at Princeton since 2000.[13] Each fall he teaches a course called "Computers in Our World", which introduces the fundamentals of computing to non-majors.[14][15]
Kernighan was the software editor for Prentice Hall International. His "Software Tools" series spread the essence of "C/Unix thinking" with makeovers for BASIC, FORTRAN, and Pascal, and most notably his "Ratfor" (rational FORTRAN) was put in the public domain.
He has said that if stranded on an island with only one programming language it would have to be C.[16]
Kernighan coined the term "Unix" and helped popularize Thompson's Unix philosophy.[17] Kernighan is also known for coining the expression "What You See Is All You Get" (WYSIAYG), which is a sarcastic variant of the original "What You See Is What You Get" (WYSIWYG).[18] Kernighan's term is used to indicate that WYSIWYG systems might throw away information in a document that could be useful in other contexts.
In 1996, Kernighan taught CS50 which is the Harvard University introductory course in computer science. Kernighan was an influence on David J. Malan who subsequently taught the course and scaled it up to run at multiple universities and in multiple digital formats.[21]
"Why Pascal is Not My Favorite Programming Language", a popular criticism of Niklaus Wirth's Pascal. Some parts of the criticism are obsolete due to ISO 7185 (Programming Languages - Pascal); the criticism was written before ISO 7185 was created. (AT&T Computing Science Technical Report #100)
^Kernighan, Brian Wilson (1969). Some Graph Partitioning Problems Related to Program Segmentation (PhD thesis). Princeton University. OCLC39166855. ProQuest302450661. (subscription required)
^Kernighan, Brian. "COS 109, Fall 2021: Home Page". www.cs.princeton.edu. Retrieved 2022-08-23. The course will have fundamentally the same structure as in previous years, but lectures, case studies and examples change every year according to what's happening.
^Malan, David J. (2010). "Reinventing CS50". Proceedings of the 41st ACM technical symposium on Computer science education. pp. 152–156. doi:10.1145/1734263.1734316. ISBN9781450300063.