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?
It’s commonplace to conclude that debugging is harder than writing a program; empirical studies have actually shown that “twice as hard” might be an underestimate. Kernighan looks at this phenomenon from the opposite angle, arguing that it’s better to write simple code with an eye towards long-term maintainability. Compare to Knuth’s optimization principle.