2021-0429
Brian Kernighan - New York City, 2015 | Photograph by Peter Adams / Faces of Open Source
Being a designer by trade, my work has naturally dictated that I acquire some form of basic coding abilities. Essentially—inspect, copy/paste, and test…(and repeat 10,000 times). For years I kept coming across Hello, World! in tutorials and never paid too much attention to it. Then one random day I finally looked it up and found out it was Mr. Kernighan's work.
Brian Kernighan at the University of Maryland (1982) | Photo: unknown
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, Professor in Computer Science Photo: Princeton University
main( ) {
printf("hello, world");
}
main( ) {
extern a, b, c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
// .......................................................................................................................
// .......................................................................................................................
// 888....888.8888888888.888......888........d88888b.........888.......888...d88888b...8888888b...888......8888888b...888.
// 888....888.888........888......888......d88P"."Y88b.......888...o...888.d88P"."Y88b.888...Y88b.888......888.."Y88b.888.
// 888....888.888........888......888......888.....888.......888..d8b..888.888.....888.888....888.888......888....888.888.
// 8888888888.8888888....888......888......888.....888.......888.d888b.888.888.....888.888...d88P.888......888....888.888.
// 888....888.888........888......888......888.....888.......888d88888b888.888.....888.8888888P"..888......888....888.888.
// 888....888.888........888......888......888.....888.......88888P.Y88888.888.....888.888.T88b...888......888....888.Y8P.
// 888....888.888........888......888......Y88b...d88P.......8888P...Y8888.Y88b...d88P.888..T88b..888......888...d88P.."..
// 888....888.8888888888.88888888.88888888.."Y88888P"........888P.....Y888.."Y88888P"..888...T88b.88888888.8888888P"..888.
// .......................................................................................................................
// .......................................................................................................................
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.
“
”
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)
The Elements of Programming Style
(1974)
Software Tools in Pascal
(1976)
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 and trade names shown are the property of their respective owners and no endorsement or derogation is intended or inferred. All other content, copyright © 2024 Universal Quotation. All rights reserved.