The Philosophy of Science
This chapter presents an overview of the philosophy of science. why study this philosophy? Here is my justification. we know that the software process is a transformation from the identification of a need in-the- world into a set of computer programs that operate in-the-computer. The process begins with an idea, a concept, something that may defy a complete description, and it ends with the delivery of a formal model that executes in the computer. As we have seen, there is a fundamental tension in this transformation, a tension between what we want and how we make it work, between the requirements in-the-world and their realization in-the-computer, between the subjective and the objective, the conceptual and the formal. This book seeks to resolve that tension. Science faces a similar problem, and so I start by examining its solutions. Science begins with something very complex and poorly represented—the real world—and its goal is to describe aspects of that reality with theories and models. we know that science is successful. It is reasonable to look, therefore, into its strengths and limitations for insight into resolving the software process’ central tension. To gain this insight, I turn to the philosophy of science because it constitutes a kind of meta-science. It examines the nature of science from a theoretical perspective; it helps us appreciate what is knowable and what can be represented formally. I note at the outset, this is not my area of expertise. Moreover, the philosophers of science have not reached a consensus. Philosophical inquiry is, by its very nature, controversial and argumentative, and the theme of this chapter is the underlying controversies regarding the nature of science and scientific knowledge. If we are to find “scientific foundations,” then we must first understand what science is (and is not)—the topic of what follows. I warn the reader that this chapter conforms to truth in labeling; as its title indicates, it literally is about the philosophy of science. There are a few explanatory comments that tie the material to the immediate needs of a software engineer, but this really is a chapter about philosophy.