I think I can summarize what I liked about the book very
in reply to Pragmatic Programmer, The
Pragmatic programmers realize that rules don't exist because
there is some ideal aesthetic in which that is the right way
to do things. Rules exist because someone tried to put into
words what works and what doesn't. Rules are someone's
opinion on how to do things. Opinions backed by practice,
theory, and (unfortunately) prejudice.
This book explains a lot of the rules that the authors have
found useful over decades of programming. But more
importantly than that, they explain why each rule exists.
And they strongly encourage you to examine how you work
and continue to learn.
Indeed I have found from personal interaction with the
authors that they consider this key. They really believe
that it is better to always be thinking while you are
programming than it is to blindly follow what someone
laid down as good rules. If you blindly follow rules
you will not know how to apply them well, and will not
understand when you are misapplying them. If you stay
concious, and seek to improve, you may come to different
rules, but you won't be forever limited by the imagination
of the person who laid down the rules, or limited by your
initial misunderstandings of what that person's rules
were supposed to mean...