However, I never use elegance as an objective criterion. An elegant solution in many cases catches a very good abstraction or generalization. It results in code that is easy to understand, modify, and debug. Finally, in this book I emphasize the human factor in programming. Programmers want to write better programs not in order to make them more understandable to computers, but to make them more readable to humans.
Program maintenance is impossible without program understanding.
This may seem like an obvious thing to say, but many programmers overlook this self-evident truth. You might be a relative beginner who has picked up some programming but wants to learn C 11 . You might be a student who wants to supplement his or her college education. You might be a well-trained programmer who is trying to make a transition from the academic to the industrial environment. Or you might be a seasoned programmer in search of new ideas.