HOME

TheInfoList



OR:

Brian Wilson Kernighan (; born 1942) is a Canadian computer scientist. He worked at
Bell Labs Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984), then AT&T Bell Laboratories (1984–1996) and Bell Labs Innovations (1996–2007), is an American industrial research and scientific development company owned by mult ...
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 ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
'') with Dennis Ritchie. Kernighan affirmed that he had no part in the design of the C language ("it's entirely Dennis Ritchie's work"). He authored many Unix programs, including ditroff. Kernighan 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
heuristic A heuristic (; ), or heuristic technique, is any approach to problem solving or self-discovery that employs a practical method that is not guaranteed to be optimal, perfect, or rational, but is nevertheless sufficient for reaching an immediat ...
s 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 The Kernighan–Lin algorithm is a heuristic algorithm for finding partitions of graphs. The algorithm has important practical application in the layout of digital circuits and components in electronic design automation of VLSI Very large-sca ...
, while the latter is known as the Lin–Kernighan heuristic. Kernighan has been a Professor of Computer Science at
Princeton University Princeton University is a private research university in Princeton, New Jersey. Founded in 1746 in Elizabeth as the College of New Jersey, Princeton is the fourth-oldest institution of higher education in the United States and one of the n ...
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''.


Early life and education

Kernighan was born in
Toronto Toronto ( ; or ) is the capital city of the Provinces and territories of Canada, Canadian province of Ontario. With a recorded population of 2,794,356 in 2021, it is the List of the largest municipalities in Canada by population, most pop ...
. He attended the
University of Toronto The University of Toronto (UToronto or U of T) is a public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park. It was founded by royal charter in 1827 as King's College, the first institu ...
between 1960 and 1964, earning his
bachelor's degree A bachelor's degree (from Middle Latin ''baccalaureus'') or baccalaureate (from Modern Latin ''baccalaureatus'') is an undergraduate academic degree awarded by colleges and universities upon completion of a course of study lasting three to six ...
in
engineering physics Engineering physics, or engineering science, refers to the study of the combined disciplines of physics, mathematics, chemistry, biology, and engineering, particularly computer, nuclear, electrical, electronic, aerospace, materials or mechanical en ...
. 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.


Career and research

Kernighan has held a professorship in the Department of Computer Science at Princeton since 2000. Each fall he teaches a course called "Computers in Our World", which introduces the fundamentals of computing to non-majors. Kernighan was the software editor for Prentice Hall International. His "Software Tools" series spread the essence of "C/Unix thinking" with makeovers for
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
, FORTRAN, and Pascal, and most notably his " Ratfor" (rational FORTRAN) was put in the
public domain The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired, ...
. He has said that if stranded on an island with only one programming language it would have to be C. Kernighan coined the term "Unix" and helped popularize Thompson's Unix philosophy. Kernighan is also known as a coiner of 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). 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 1972, Kernighan described memory management in strings using "hello" and "world", in the B programming language, which became the iconic example we know today. Kernighan's original 1978 implementation of Hello, World! was sold at The Algorithm Auction, the world's first auction of computer algorithms. In 1996, Kernighan taught CS50 which is the
Harvard University Harvard University is a private Ivy League research university in Cambridge, Massachusetts. Founded in 1636 as Harvard College and named for its first benefactor, the Puritan clergyman John Harvard, it is the oldest institution of high ...
introductory course in Computer Science. Kernighan was an influence on
David J. Malan David J. Malan () is an American computer scientist and professor. Malan is a Gordon McKay Professor of Computer Science at Harvard University, and is best known for teaching course CS50, (abbreviation of Computer Science 50) which is the largest ...
who subsequently taught the course and scaled it up to run at multiple universities and in multiple digital formats. Kernighan was elected a member of the
National Academy of Engineering The National Academy of Engineering (NAE) is an American nonprofit, non-governmental organization. The National Academy of Engineering is part of the National Academies of Sciences, Engineering, and Medicine, along with the National Academy of ...
in 2002 for contributions to software and to programming languages. He was also elected a member of the
American Academy of Arts and Sciences The American Academy of Arts and Sciences (abbreviation: AAA&S) is one of the oldest learned societies in the United States. It was founded in 1780 during the American Revolution by John Adams, John Hancock, James Bowdoin, Andrew Oliver, ...
in 2019.


Books and reports

* '' The Elements of Programming Style'', with P. J. Plauger * ''Software Tools'', a book and set of tools for Ratfor, co-created in part with P. J. Plauger * ''Software Tools in Pascal'', a book and set of tools for Pascal, with P. J. Plauger * ''
The C Programming Language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
'', with C creator Dennis Ritchie, the first book on C * ''
The Practice of Programming ''The Practice of Programming'' () by Brian W. Kernighan and Rob Pike is a 1999 book about computer programming and software engineering, published by Addison-Wesley. According to the preface, the book is about "topics like testing, debuggi ...
'', with Rob Pike * '' The Unix Programming Environment'', a tutorial book, with Rob Pike
"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)


Algorithms

* 1972: The first documented "Hello, world!" program, in Kernighan'
"A Tutorial Introduction to the Language B"
* 1973? ditroff, or "device independent troff", which allowed troff to be used with any device * 1974: The eqn typesetting language for troff, with Lorinda Cherry * 1976: Ratfor* 1977: The m4 macro processing language, with Dennis Ritchie * 1977: The AWK programming language, with Alfred Aho and
Peter J. Weinberger Peter Jay Weinberger (born August 6, 1942) is a computer scientist best known for his early work at Bell Labs. He now works at Google. Weinberger was an undergraduate at Swarthmore College, graduating in 1964. He received his PhD in mathemati ...
, and its book '' The AWK Programming Language'' * 1985: The AMPL programming language * 1988: The pic typesetting language for troff


Publications

* ''The Elements of Programming Style'' (1974, 1978) with P. J. Plauger * ''Software Tools'' (1976) with P. J. Plauger * ''
The C Programming Language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
'' (1978, 1988) with
Dennis M. Ritchie Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist. He is most well-known for creating the C programming language and, with long-time colleague Ken Thompson, the Unix operating system and B ...
* ''Software Tools in Pascal'' (1981) with P. J. Plauger * ''The Unix Programming Environment'' (1984) with Rob Pike * '' The AWK Programming Language'' (1988) with Alfred Aho and Peter J. Weinberger * ''The Practice of Programming'' (1999) with Rob Pike * ''AMPL: A Modeling Language for Mathematical Programming, 2nd ed.'' (2003) with Robert Fourer and
David Gay Major David William Maurice Gay MC (2 April 1920 – 10 July 2010) was a decorated British Army officer, English cricketer, and later an educator. Gay served with distinction in World War II, earning the Military Cross during the course of ...
* ''D is for Digital: What a well-informed person should know about computers and communications'' (2011) * ''The Go Programming Language'' (2015) with
Alan Donovan Alan may refer to: People *Alan (surname), an English and Turkish surname *Alan (given name), an English given name ** List of people with given name Alan ''Following are people commonly referred to solely by "Alan" or by a homonymous name.'' * ...
* ''Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security'' (2017) * ''Millions, Billions, Zillions: Defending Yourself in a World of Too Many Numbers'' (2018) * ''UNIX: A History and a Memoir'' (2019)


Programming Setup

Kernighan uses a 13-inch MacBook Air as his primary device. Along with this, from time to time, he uses an iMac in his office. He, most of the time, uses
Sam Sam, SAM or variants may refer to: Places * Sam, Benin * Sam, Boulkiemdé, Burkina Faso * Sam, Bourzanga, Burkina Faso * Sam, Kongoussi, Burkina Faso * Sam, Iran * Sam, Teton County, Idaho, United States, a populated place People and fictional ...
as his text editor.


See also

* List of pioneers in computer science


References


External links


Brian Kernighan's home page at Bell LabsLex Fridman Podcast #109: Brian Kernighan - UNIX, C, AWK, AMPL, and Go Programming
nbsp;— By Brian Kernighan, AT&T Bell Labs, 2 April 1981
"Leap In and Try Things" — Interview with Brian Kernighan
nbsp;— on "Harmony at Work Blog", October 2009.

nbsp;— By Mihai Budiu, for ''PC Report Romania'', August 2000 * – Interview by

nbsp;— TechNetCast At Bell Labs: Dennis Ritchie and Brian Kernighan (1999-05-14)
Video (Princeton University, September 7, 2003)
nbsp;— "Assembly for the Class of 2007: 'D is for Digital and Why It Matters'"
A Descent into Limbo
by Brian Kernighan

*
Video interview with Brian Kernighan for Princeton Startup TV
(2012-03-20)
The Setup, Brian Kernighan
{{DEFAULTSORT:Kernighan, Brian 1942 births Living people Canadian computer scientists Canadian computer programmers Computer programmers Inferno (operating system) people Canadian people of Irish descent Writers from Toronto Plan 9 people Princeton University School of Engineering and Applied Science alumni Princeton University faculty Programming language designers Scientists at Bell Labs Canadian technology writers University of Toronto alumni Unix people C (programming language) Members of the United States National Academy of Engineering Berkman Fellows Scientists from Toronto