• Every programmer has his own way of classifying problems. They are usually different from how our boss classifies it, which is also different from how the end-user classifies it.

    Applications have gone from simple data entry and straight forward report generation in the 1960s to complex interactive systems (not applications anymore). Along the way the software infrastructure which controls the applications/systems has improved to an amazing degree to help the programmer avoid or handle certain problems automatically. We programmers should be very thankful to those other programmers that were smart enough to make those improvements to the underlying software. However, there is still much that can be done.

    No one causes bugs on purpose. S*** happens even in the most rigorously tested application/system.

    None of this however makes programming any easier for the programmer. We have simply traded certain old bugs for new bugs. There will always be bugs. Bugs are nothing more than a problem hiding from a solution.