Separating Data from Instructions Investigating a New Programming Paradigm
We have experienced different theories of software construction paradigms in the last few decades; such as ''structured programming'' in the 1970's and "object-oriented programming" in the 1980's. The object-oriented paradigm is considered a standard for many software development activities, from the analysis phase to various support phases. There is little quantitative research, however, regarding the question whether object-oriented programming improves productivity. Many assume that object-oriented programming is more productive than traditional structured programming. This assumption lacks concrete, empirical data that support such belief. This dissertation identifies problems in the current object-oriented programming practice, and then presents an alternative paradigm to help overcome these problems. This paradigm separates the declaration of data structures from program executable instructions. We call this paradigm {\it the separation principle}. We first tried to understand what this paradigm means in practice. We developed example programs in a variety of application areas. We found that the separation principle is a viable paradigm for practical program construction. In order to demonstrate the validity of this paradigm, we have conducted both theoretical and empirical studies. The theoretical study consists of complexity measurements. The empirical study constitutes human understanding measurement; its purpose is to show statistical significance. The results give evidence of the effectiveness of the separation principle for practical software construction.