Brian Kernighan

Canadian computer scientist

Brian Kernighan - New York City, 2015 | Photograph by Peter AdamsFaces of Open Source

Brian Wilson Kernighan (born January 1, 1942) is a Canadian computer scientist.

He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through the co-authorship of the first book on the C programming language, 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. Kernighan is a co-author of the AWK and AMPL programming languages. The “K” of K&R C and the “K” in AWK both stand for “Kernighan.”

In collaboration with Shen Lin, he devised well-known heuristics for two NP-complete optimization problems: graph partitioning and the traveling salesman problem. In a display of authorial equity, the former is usually called the Kernighan–Lin algorithm, while the latter is known as the Lin–Kernighan heuristic.

Kernighan has been a Professor of Computer Science at Princeton University 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.

More at Wikipedia

brian-kernighan-t-01
sig.brian-kernighan
Photo of Brian Kernighan

Brian Kernighan at the University of Maryland (1982) | Photo: unknown

AT&T Archives: The UNIX Operating System | Video courtesy of AT&T Tech Channel YouTube

In the late 1960s, Bell Laboratories computer scientists Dennis Ritchie and Ken Thompson started work on a project that was inspired by an operating system called Multics, a joint project of MIT, GE, and Bell Labs. The host and narrator of this film, Victor Vyssotsky, also had worked on the Multics project. Ritchie and Thompson, recognizing some of the problems with the Multics OS, set out to create a more useful, flexible, and portable system for programmers to work with.

What's fascinating about the growth of UNIX is the long amount of time that it was given to develop, almost organically, and based on the needs of the users and programmers. The first installation of the program was done as late as 1972 (on a NY Telephone branch computer). It was in conjunction with the refinement of the C programming language, principally designed by Dennis Ritchie.

Because the Bell System had limitations placed by the government that prevented them from selling software, UNIX was made available under license to universities and the government. This helped further its development, as well as making it a more "open" system.

This film "The UNIX System: Making Computers More Productive", is one of two that Bell Labs made in 1982 about UNIX's significance, impact and usability. Even 10 years after its first installation, it's still an introduction to the system. The other film, "The UNIX System: Making Computers Easier to Use", is roughly the same, only a little shorter. The former film was geared towards software developers and computer science students, the latter towards programmers specifically.

The film contains interviews with primary developers Ritchie, Thompson, Brian Kernighan, and many others.

While widespread use of UNIX has waned, most modern operating systems have at least a conceptual foundation in UNIX.

Footage courtesy of AT&T Archives and History Center, Warren, NJ

Quotations

Published works

The Elements of Programming Style (1974), Software Tools (1976), The C Programming Language (1978), Software Tools in Pascal (1981), The Unix Programming Environment (1984), The AWK Programming Language (1988), AMPL: A Modeling Language for Mathematical Programming (1991), The Practice of Programming (1999), D is for Digital: What a well-informed person should know about computers and communications (2011), The Go Programming Language (2015), 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)
b-brian-kernighan-the-elements-of-programming-style

The Elements of Programming Style
(1974)

b-brian-kernighan-software-tools-in-pascal

Software Tools in Pascal
(1976)

b-brian-kernighan-c-programming-language

The C Programming Language
(1978)

The Elements of Programming Style (1974), Software Tools (1976), The C Programming Language (1978), Software Tools in Pascal (1981), The Unix Programming Environment (1984), The AWK Programming Language (1988), AMPL: A Modeling Language for Mathematical Programming (1991), The Practice of Programming (1999), D is for Digital: What a well-informed person should know about computers and communications (2011), The Go Programming Language (2015), 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)

More interesting people…

Trademarks are the property of their respective owners. All other content © 2021 Universal Quotation. All rights reserved.