One of the biggest attractions I have to programming is striving for perfection. It tickles a bit of my mind that craves structure, order and stability. As far as my mind is concerned, if I can be perfect, then it’s not my fault; while if I’m imperfect then it’s all my fault. This is literal insanity, and at least in this case, I know I am insane.
First, one must perform perfectly. The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn’t work. Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.
Fred Brooks… you know the book