Brian Kernighan

Canadian computer scientist, co-inventor of the Unix operating system

Brian Kernighan (born January 1, 1942) is a computer scientist who worked at the Bell Labs and contributed to the design of the pioneering AWK and AMPL programming languages. He is most well-known for his co-authorship, with Dennis Ritchie, of the first book on the C programming language.

Controlling complexity is the essence of computer programming.


  • Controlling complexity is the essence of computer programming.
  • The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
    • "Unix for Beginners" (1979).
  • Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?
  • Do what you think is interesting, do something that you think is fun and worthwhile, because otherwise you won't do it well anyway.
    • An Interview with Brian Kernighan from the PC Report Romania[1].
  • Advice to students: Leap in and try things. If you succeed, you can have enormous influence. If you fail, you have still learned something, and your next attempt is sure to be better for it. Advice to graduates: Do something you really enjoy doing. If it isn’t fun to get up in the morning and do your job or your school program, you’re in the wrong field.
    • "Leap In and Try Things: Interview with Brian Kernighan"[2] from Harmony at Work blog[3].
  • C is a razor-sharp tool, with which one can create an elegant and efficient program or a bloody mess.
    • The Practice of Programming (1999)
  • Mechanical rules are never a substitute for clarity of thought.
    • Software Tools (1976)
  • Associative arrays are very very useful things and if you are only going to have one data structure that's the one to have. Because you could build everything else with it if you want.
    • Coffee with Brian Kernighan from Computerphile on YouTube [4]

Wikipedia has an article about: