Book contents
- Frontmatter
- Contents
- Preface
- Contributors
- 1 The Complexity of Algorithms
- 2 Building Novel Software: the Researcher and the Marketplace
- 3 Prospects for Artificial Intelligence
- 4 Structured Parallel Programming: Theory meets Practice
- 5 Computer Science and Mathematics
- 6 Paradigm Merger in Natural Language Processing
- 7 Large Databases and Knowledge Re-use
- 8 The Global-yet-Personal Information System
- 9 Algebra and Models
- 10 Real-time Computing
- 11 Evaluation of Software Dependability
- 12 Engineering Safety-Critical Systems
- 13 Semantic Ideas in Computing
- 14 Computers and Communications
- 15 Interactive Computing in Tomorrow's Computer Science
- 16 On the Importance of Being the Right Size
- References
- Index
4 - Structured Parallel Programming: Theory meets Practice
Published online by Cambridge University Press: 10 December 2009
- Frontmatter
- Contents
- Preface
- Contributors
- 1 The Complexity of Algorithms
- 2 Building Novel Software: the Researcher and the Marketplace
- 3 Prospects for Artificial Intelligence
- 4 Structured Parallel Programming: Theory meets Practice
- 5 Computer Science and Mathematics
- 6 Paradigm Merger in Natural Language Processing
- 7 Large Databases and Knowledge Re-use
- 8 The Global-yet-Personal Information System
- 9 Algebra and Models
- 10 Real-time Computing
- 11 Evaluation of Software Dependability
- 12 Engineering Safety-Critical Systems
- 13 Semantic Ideas in Computing
- 14 Computers and Communications
- 15 Interactive Computing in Tomorrow's Computer Science
- 16 On the Importance of Being the Right Size
- References
- Index
Summary
Abstract
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.
- Type
- Chapter
- Information
- Computing TomorrowFuture Research Directions in Computer Science, pp. 49 - 65Publisher: Cambridge University PressPrint publication year: 1996
- 4
- Cited by