Lecture overview -- Keyboard shortcut: 'u'  Previous page: Plan of this talk -- Keyboard shortcut: 'p'  Next page: Kinds of understanding -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 5 : 40
Elucidative Programming
Introduction

We start this talk with a view on two basic program comprehension approaches. We here distinguish between whether program comprehension has been written on before hand, or whether the understanding is going to be extracted from the source program.

Program comprehension plays a major role in any non-trivial software development effort

"To program is to understand"

  • Two basic program comprehension approaches

    • Prevenient/proactive

      • The program understanding is formulated as a forethought before or during the development of the source program

    • Posterior/reactive

      • The program understanding is formulated as an afterthough following the completion of the source program.

Here we want to make a distinction which represents when the program comprehension is dealt with relative to the time where it is actually needed.

The prevenient approach represent the cases in which some documentation is explicitly written before it is needed.

The posterior approach, on the other hand, represent the cases in which the comprehension is attempted to be extracted from the program, when it is needed typically in a late phases of the program life time.