Algorithmics : towards programming as a mathematical activity

Lambert Meertens · Centrum Wiskunde & Informatica (CWI), the national research institute for mathematics and computer science in the Netherlands · 1986

Of the various approaches to program correctness, that of "Transformational Programming" appears to be the most helpful in constructing correct programs.The essence of the method is to start with an obviously correct-but possibly hopelessly inefficient-algorithm, and to improve it by successively applying correctness-preserving transformations.The manipulations involved are akin to those used in mathematics.Two important impediments to this method are the verbosity of algorithmic notations, making the process cumbersome, and the semantic baroqueness of many primitives, making it hard to verify the validity of transformations.Computer Science can profit here from the lessons taught by the history of Mathematics.Another major step, comparable to one made long ago in Mathematics, is not to insist on the "executability" of algorithmic descriptions.This makes it possible to treat initial high-level specifications in the same framework as the final programs.Just as Mathematics evolved from "Transformational Arithmetic'', Transformational Programming may come of age as "Algorithmics".

Read the paper · More papers on PaperTik