- Brian Kernighan
Brian Wilson Kernighan (pronEng|ˈkɛrn
ɪhæn, the 'g' is silent), (born 1942, Toronto, Ontario, Canada) is a computer scientistwho worked at Bell Labsalongside Unixcreators Ken Thompson and Dennis Ritchieand contributed greatly to Unix and its school of thought. 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'.
Kernighan's name became widely known through co-authorship of the first book on the C programming language with
Dennis Ritchie. Kernighan has said that he had no part in the design of the C language ("it's entirely Dennis Ritchie's work"). He authored many Unixprograms, including ditroff.
In collaboration with
Shen Linhe devised well-known heuristics for two NP-completeoptimization problems: graph partitioningand 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".)
Brian 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. [ [http://www-2.cs.cmu.edu/~mihaib/kernighan-interview/index.html An Interview with Brian Kernighan ] ]
He received his
Bachelor's degreein Engineering Physicsfrom the University of Toronto. He received his PhD in electrical engineeringfrom 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.
He has on occasion revealed it was his own pun which led to the use of the name 'Unix' (initially 'Unics') for the operating system
Ken Thompsonand Dennis Ritchiewere working on.
ummary of Achievements
Hello, world", a program originally written by Brian Kernighan of Bell Labsin "A Tutorial Introduction to the Language B" [http://cm.bell-labs.com/cm/cs/who/dmr/btut.html] .
*The AWK programming language, along with
Al Ahoand Peter J. Weinberger, and its book "The AWK Programming Language"
The Elements of Programming Style", with P. J. Plauger
Ratfor, along with P. J. Plauger
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 Unix Programming Environment", a tutorial book along with Rob Pike
*"The C Programming Language" along with C creator
Dennis Ritchie, the first ever book on C
*The pic typesetting language for
eqntypesetting language for troff, along with Lorinda Cherry
The Practice of Programming", with Rob Pike
*"Why Pascal is Not My Favorite Programming Language", a popular criticism of the
Pascal programming languageby Niklaus Wirth. Some parts of the criticism are obsolete due to ISO 7185 (Programming Languages - Pascal), the criticism was written before ISO 7185 was even created. See below for a link. (AT&T Computing Science Technical Report #100)
ditroff, or "device independent troff", which allowed troff to be used with any device
*The m4 macro processing language, with
Software Tools" (1976 with PJ Plauger)
Software Tools in Pascal" (1981 with PJ Plauger)
*"The C Programming Language" ('K/R') (
1978, 1988with Dennis M Ritchie)
*"The Elements of Programming Style" (
1974, 1978with PJ Plauger)
The Unix Programming Environment" (1984 with Rob Pike)
The AWK Programming Language" (1988 with Al Ahoand Peter J Weinberger)
The Practice of Programming" (1999 with Rob Pike)
*"AMPL: A Modeling Language for Mathematical Programming, 2nd Ed. (2003 with
Robert Fourerand David Gay)
* [http://www.cs.princeton.edu/~bwk/ Brian Kernighan's home page at Princeton U.]
* [http://cm.bell-labs.com/who/bwk/ Brian Kernighan's home page at Bell Labs]
* [http://www.lysator.liu.se/c/bwk-on-pascal.html "Why Pascal is Not My Favorite Programming Language"] – By Brian Kernighan, AT&T Bell Labs,
2 April 1981
* [http://www-2.cs.cmu.edu/~mihaib/kernighan-interview/index.html An Interview with Brian Kernighan] – By Mihai Budiu, for "PC Report Romania", August 2000
* [http://www.linuxjournal.com/article.php?sid=7035 Interview with Brian Kernighan] – By Aleksey Dolya, for "Linux Journal", July 2003.
* [http://www.princeton.edu/~mike/unixhistory Transcript of an interview with Brian Kernighan] – Interview by [http://www.princeton.edu/~mike/ Michael S. Mahoney]
* [http://technetcast.ddj.com/tnc_play_stream.html?stream_id=25 Video] - TechNetCast At Bell Labs: Dennis Ritchie and Brian Kernighan (1999-05-14)
* [http://www.princeton.edu/WebMedia/special/ Video (Princeton University, September 7, 2003)] - "Assembly for the Class of 2007: 'D is for Digital and Why It Matters'"
* [http://doc.cat-v.org/inferno/4th_edition/limbo_language/descent A Descent into Limbo] by Brian Kernighan
* [http://www.adeptis.ru/vinci/m_part6.html Photos of Brian Kernighan]
Wikimedia Foundation. 2010.