© The Author 2011. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For Permissions, please email:
[email protected] Advance Access publication on 12 September 2011 doi:10.1093/comjnl/bxr090 Science, Mathematics, Computer Science, Software Engineering† Dick Hamlet∗ Department of Computer Science, Portland State University, Portland, OR 97207, USA ∗Corresponding author:
[email protected] This paper examines three ideas: First, the traditional relationship between a science, the mathematics it uses and the engineering based on it. Second, the nature of (software) computer science, which Downloaded from may not be a science at all, and its unusual use of mathematics. And finally, the nature of software engineering, its relationship with computer science, and its use of mathematics called ‘formal methods’. These three ideas turn on the first of them, since the scientific world view seems natural for the study of computing. The paper’s thesis is that while software touches science in many ways, it does not itself have a significant scientific component. For understanding programming, for teaching it and for applying it in the world, science is the wrong model. Mathematics has found its own foundations http://comjnl.oxfordjournals.org/ apart from science, and computer science must do the same. Keywords: science; engineering; philosophy; computing Received 28 April 2011; revised 11 August 2011 Handling editor: Mark Josephs at Portland State University on July 21, 2016 1. TRADITIONAL SCIENCE AND ENGINEERING engineering, where the Fourier and Laplace transforms are used (AND MATHEMATICS) to convert differential equations into algebra. Where a physicist understands an electronic circuit as a set of simultaneous In the well-ordered scientific world that began with Galileo differential equations, an electrical engineer can describe the and Newton, the disciplines of science, mathematics and circuit without calculus.2 engineering subdivide the intellectual space and support each other.