1.1. Reality

Unfortunately for the programming world (and programmers), software development continues after a project is declared finished (an increasingly arbitrary—and often inaccurate—label). Maintenance and debugging may consume more time than the original coding, particularly because the person responsible for a program's maintenance may not be one of the original programmers. This means we spend a lot of our time trying to deduce the specifics of some algorithm we find in the code: how it was done, why it was done, and why it doesn't work any more.[1]

[1] A seminal work in this respect is The Mythical Man-Month, by Fred Brooks (Addison-Wesley, 1995).

The odds of creating a bug-free program are rather long. Anything larger than the ubiquitous ...

Get Perl Debugged now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.