Disposable and endurant programming

Philip Levy · ACM SIGCSE Bulletin · 1980

Several characteristics of “good” programs relate to extension of their lifetime. Categories of such features are documentation, structure (modules, procedures, abstractions), and language features that increase checkable redundancy in a program. These features have nonzero and, perhaps, unjustified cost if the program is disposed of. Programs that are developed primarily for the “answer” and then discarded are termed “disposable”. The educational ramifications of disposable programs are significant. Programs produced by students in programming courses are by nature disposable; they are disposed of at the end of the term. This conflicts with the emphasis by many instructors and textbooks on endurance, the converse of disposablility. A danger of disposable programs is their retention. Another danger is the failure to consider the endurance required during the production of that program. There is a domain of problems that can be solved economically by disposable programs. This domain is discussed and some heuristics are presented for determining whether a problem is in it.

Read the paper · More papers on PaperTik