|Brian Wilson Kernighan|
Brian Kernighan at Bell Labs
(Photograph by Ben Lowe)
January 1, 1942 |
|Alma mater||University of Toronto
|Known for||Unix, AWK, AMPL
The C Programming Language (book)
Brian Wilson Kernighan (//; born January 1, 1942) is a Canadian computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix. He is also coauthor of the AWK and AMPL programming languages. The "K" of K&R C and the "K" in AWK both stand for "Kernighan". Since 2000 Brian Kernighan has been a Professor at the Computer Science Department of Princeton University, where he is also the Undergraduate Department Representative.
Kernighan's name became widely known through co-authorship of the first book on 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"). He authored many Unix programs, including ditroff, and cron for Version 7 Unix.
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 styled Lin–Kernighan.)
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.
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.
Early life and education
Born in Toronto, Kernighan attended the University of Toronto between 1960 and 1964, earning his Bachelor's degree in engineering physics. He received his PhD in electrical engineering from Princeton University, where he has held a professorship in the department of computer science since 2000. Each fall he teaches a course called "Computers in Our World", which introduces the fundamentals of computing to non-majors.
Summary of achievements
- The AMPL programming language
- The AWK programming language, with Alfred Aho and Peter J. Weinberger, and its book The AWK Programming Language
- ditroff, or "device independent troff", which allowed troff to be used with any device
- The Elements of Programming Style, with P. J. Plauger
- The first documented "Hello, world!" program, in Kernighan's "A Tutorial Introduction to the Language B" (1972)
- 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, with C creator Dennis Ritchie, the first book on C
- The eqn typesetting language for troff, with Lorinda Cherry
- The m4 macro processing language, with Dennis Ritchie
- The pic typesetting language for troff
- The Practice of Programming, 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)
- The Elements of Programming Style (1974, 1978) with P. J. Plauger
- Software Tools (1976) with P. J. Plauger
- The C Programming Language (1978, 1988) with Dennis M. Ritchie
- 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
- D is for Digital: What a well-informed person should know about computers and communications (2011)
- The Go Programming Language (2015) with Alan Donovan
- Lohr, Steve (31 October 2002). "To the Liberal Arts, He Adds Computer Science". The New York Times.
Mr. Kernighan, 60, is a renowned computer scientist
- Dolya, Aleksey (29 July 2003). "Interview with Brian Kernighan". Linux Journal.
- Budiu, Mihai (July 2000). "An Interview with Brian Kernighan".
- McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (Technical report). CSTR. Bell Labs. 139.
|Wikiquote has quotations related to: Brian Kernighan|
|Wikimedia Commons has media related to Brian Kernighan.|
- Brian Kernighan's home page at Princeton U.
- Brian Kernighan's home page at Bell Labs
- "Why Pascal is Not My Favorite Programming Language" — By Brian Kernighan, AT&T Bell Labs, 2 April 1981
- "Leap In and Try Things" — Interview with Brian Kernighan — on "Harmony at Work Blog", October 2009.
- An Interview with Brian Kernighan — By Mihai Budiu, for PC Report Romania, August 2000
- Transcript of an interview with Brian Kernighan at the Wayback Machine (archived April 28, 2009) – Interview by Michael S. Mahoney at the Wayback Machine (archived May 28, 2009)
- Video — TechNetCast At Bell Labs: Dennis Ritchie and Brian Kernighan (1999-05-14)
- Video (Princeton University, September 7, 2003) — "Assembly for the Class of 2007: 'D is for Digital and Why It Matters'"
- A Descent into Limbo by Brian Kernighan
- Photos of Brian Kernighan
- Works by Brian Kernighan at Open Library
- Video interview with Brian Kernighan for Princeton Startup TV (2012-03-20)
- The Setup, Brian Kernighan