Leslie Lamport is a computer scientist and an expert on distributed systems, temporal logic, and concurrent algorithms. He is a member of the National Academy of Engineering and the National Academy of Sciences. Dr. Lamport earned his Ph.D. and M.A. in mathematics from Brandeis University and B.S. from MIT. He works at Microsoft Research.
Most programmers regard anything that doesn't generate code to be a waste of time. Thinking doesn't generate code, and writing code without thinking is a recipe for bad code. Before we start to write any piece of code, we should understand what that code is supposed to do. Understanding requires thinking, and thinking is hard. In the words of the cartoonist Dick Guindon: