The paper describes, through an example, a strategy for transforming a problem into a respective algorithm and, ultimately, into an efficient program. The authors try to lend systematicity to this strategy by dividing it into two steps, and then each step into substeps. The first step consists of defining a sequence of statements that characterize the problem. The second step consists of the choice of successful transformations to reduce the use of memory for data in the program.
The authors suggest that a programmer can be advantageously taught this strategy, including use of the defined transformations. The latter can be automated to help the programmer further.
This reviewer has the following doubts:
(1)The programmer’s work can be easily put into the mold of this strategy.
(2)A programmer can learn easily how to use the defined transformations effectively.
(3)Whether the defined transformations, illustrated on a very simple example, are adequate to the diverse tasks of optimizing memory in more realistic problems.