Brian Kernighan
Brian Wilson Kernighan | |
---|---|
Born | [1] | January 1, 1942
Citizenship | Canadian |
Alma mater | University of Toronto Princeton University |
Known for | Unix, AWK, AMPL The C Programming Language (book) |
Scientific career | |
Fields | Computer Science |
Institutions | Princeton University |
Brian Wilson Kernighan (/ˈkɜːrn[invalid input: 'ɨ']hæn/; born January 1, 1942)[1] 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'. Brian Kernighan is currently 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").[2] 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.[3]
Kernighan coined the term Unix in the 1970s. The original term he coined was Unics (for Uniplexed Information and Computing Service, a play on Multics), which was later changed to Unix.[citation needed] 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).[citation needed] 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.[2] 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, along with Al 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)
- Ratfor
- Software Tools, a book and set of tools for Ratfor, cocreated 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 along with C creator Dennis Ritchie, the first book on C
- The eqn typesetting language for troff, along 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 along 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)
Writings
- The Elements of Programming Style (1974, 1978 with PJ Plauger)
- Software Tools (1976 with PJ Plauger)
- The C Programming Language ('K&R') (1978, 1988 with Dennis M. Ritchie)
- Software Tools in Pascal (1981 with PJ Plauger)
- The Unix Programming Environment (1984 with Rob Pike)
- The AWK Programming Language (1988 with Al 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)
References
- ^ a b 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
- ^ a b Dolya, Aleksey (29 July 2003). "Interview with Brian Kernighan". Linux Journal.
- ^ Budiu, Mihai (July, 2000). "An Interview with Brian Kernighan".
{{cite web}}
: Check date values in:|date=
(help)
External links
- 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 – Interview by Michael S. Mahoney
- 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 (03.20.2012)
- The Setup, Brian Kernighan
- Ill-formatted IPAc-en transclusions
- 1942 births
- Living people
- Canadian computer scientists
- Computer programmers
- Inferno (operating system) people
- Canadian people of Irish descent
- People from Toronto
- Plan 9 people
- Princeton University alumni
- Princeton University faculty
- Programming language designers
- Scientists at Bell Labs
- Canadian technology writers
- University of Toronto alumni
- Unix people
- C programming language
- Google employees
- Members of the United States National Academy of Engineering