Quien aprende a programar de forma autodidacta rara vez ha de explicar sus programas a nadie y es fácil no darse cuenta de hasta qué punto es difícil hacerlo pero quizá alguna vez piensa: Este programa funciona bien lo sé pero... ¿Cómo podría convencer de ello a otro? ¿En qué se fundamenta esa seguridad en la corrección de su programa? Y sobre todo ¿qué hacer cuando esa seguridad resutla mal fundada y el programa incomprensiblemente falla?