Brian Kernighan

Brian Kernighan
Brian Wilson Kernighan 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". Since 2000 Brian Kernighan has been a Professor at the Computer Science Department of Princeton University, where he is also the Undergraduate Department Representative...
NationalityCanadian
ProfessionScientist
Date of Birth1 January 1942
CountryCanada
C is a razor-sharp tool, with which one can create an elegant and efficient program or a bloody mess.
Get the weirdnesses into the data where you can manipulate them easily, and the regularity into the code because regular code is a lot easier to work with
An effective way to test code is to exercise it at its natural boundaries
If you're as clever as you can be when you write it, how will you ever debug it?
Don't document bad code - rewrite it.
Trivia rarely affect efficiency. Are all the machinations worth it, when their primary effect is to make the code less readable?
Technology is mostly a force for good, but it has its downsides, too. I want my students - and my readers - to be intelligently skeptical about technology and be informed about the good and the not-so-good parts.
Computers and computing are all around us. Some computing is highly visible, like your laptop. But this is only part of a computing iceberg. A lot more lies hidden below the surface. We don't see and usually don't think about the computers inside appliances, cars, airplanes, cameras, smartphones, GPS navigators and games.
Every language teaches you something, so learning a language is never wasted, especially if it's different in more than just syntactic trivia.
For better or worse, the people who become leaders and decision makers in politics, law and business are going to come from schools like Princeton.
I had spent the summer of 1966 working at MIT in the group that was the MIT component of the Multics effort.
I really enjoyed Princeton as a graduate student.
It's important to be informed about issues like usability, reliability, security, privacy, and some of the inherent limitations of computers.
Anytime you want to hear about graph partitioning, I will be glad to tell you what I know about graph partitioning. It remains a standard problem. I think it's an interesting problem, because it shows up in a variety of guises in real life.