Interests: Application-specific languages, document preparation, user interfaces, software tools, programming methodology.
Member, National Academy of Engineering, 2002; USENIX Association Lifetime Achievement Award, 1997.
Professor Brian W. Kernighan, who earned his master’s and doctoral degrees in electrical engineering from Princeton, joined the department in 2000. Before returning to Princeton, he worked for 30 years at the Computing Science Research Center of Bell Laboratories, where he was head of the Computing Structures Research Department from 1981 to 2000. Professor Kernighan was a member of the editorial board for Software―Practice & Experience, 1990-2009, and has been the adviser for the Addison-Wesley series on Professional Computing since 1990. His research Interests include software tools, application-oriented languages, programming methodology, user interfaces and technology education. He was elected to the National Academy of Engineering in 2002.
- “The Elements of Programming Style” (with P. J. Plauger). McGraw-Hill, 1974; 2nd edition, 1978.
- “Software Tools” (with P. J. Plauger). Addison-Wesley, 1976.
- “The C Programming Language” (with D. M. Ritchie). Prentice-Hall, 1978; 2nd edition, 1988.
- “Software Tools in Pascal” (with P. J. Plauger). Addison-Wesley, 1981.
- “The UNIX Programming Environment” (with R. Pike). Prentice-Hall, 1984.
- “The AWK Programming Language” (with A. V. Aho and P. J. Weinberger), Addison-Wesley, 1988.
- "The Practice of Programming" (with R. Pike), Addison-Wesley, 1998.
- "AMPL: A Modeling Language for Mathematical Programming" (with D. Gay and R. Fourer), Cengage, 2nd edition, 2002.
- "The Go Programming Language" (with A. A.A. Donovan), Addison-Wesley, 2016.
- "Understanding the Digital World", Princeton University Press, 2017.