Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
I'm sorry, but I can't help but disagree with this sentence. The purpose of creating a program really is to instruct the computer what to do. Not to explain other human beings what we want the computer to do. Computers don't do what we want, they do what we tell them to do. Success in programming a computer comes from telling it what we want it to do.
Note quite right. The purpose of creating a computer program is to get work done. This includes, but is not limited to, telling the computer what to do. We want to maximize the amount of work done by the computer and minimize the work done by people. This implies striking the right balance between optimizing the run-time of the program and optimizing BOTH the readability AND usability of the program. When modifying a program, we have to balance effectiveness, readability, and usability.
Comparing the potential benefit of a faster-running program with the cost of poor readability or usability is difficult, but (at least in business) can be done by converting all units to dollars. Dollars are then easily convertible to pizza and beer, units of measurement familiar to nearly every programmer in the world.
In some cases, cryptic one-liners that shave a few milliseconds off the per-cycle run-time produce many millions of pizzas and thousands of gallons of beer annually, at the expense of a few pies and a six-pack in maintenance per year. Who cares if that code is hard to read? We have PIZZA and BEER! But saving a slice and a half-pint at the expense of an office pizza party
Term, holidays, term, holidays, till we leave school, and then work, work, work till we die. -- C.S. Lewis