The process of debugging is a normal part of the process of understanding a program. The programmer is encouraged to study the bug rather than forget the error.

Seymour Papert, Mindstorms