Structured Parallel Programming: Theory meets Practice

John Darlington, Yike Guo, Hing Wing To · Cambridge University Press eBooks · 1996

We address the issue of what should be the proper relationship between theoretical computer science and practical computing. Starting from an analysis of what we perceive as the failure of formally based research to have as much impact on practical computing as is merited we propose a diagnosis based on the way formally based research is conducted and the way it is envisaged that results from these areas will be translated into practice. We suggest that it is the responsibility of practitioners of theoretical computer science to work more closely with the practical areas in order to identify ways in which their ideas can be used to augment current practice rather than seeking to replace it. As a case in point we examine functional programming and its relationship to programming parallel machines. We introduce a development, structured parallel programming, that seeks to combine the theoretical advantages of functional programming with established practice in these areas. We show how the full power of functional programming, for example highlevel abstraction and program transformation, can be made compatible with conventional imperative programming languages, providing practical solutions to many long standing problems in parallel computing. Introduction We characterise formally based computer science as the attempt to apply fundamental ideas in the logic and mathematics of computation to practical computing problems. Developments here include, for example, functional and logic programming, program transformation, studies of concurrency and formal program specification and verification. The hope underlying much of the research in these areas is that the mathematical foundation of these approaches will make possible radical solutions to many deep seated and long lasting problems in computing.

Read the paper · More papers on PaperTik