Separating Data from Instructions: Investigating a New Programming Paradigm

Cover
Universal-Publishers, 2002 - 220 Seiten
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.
 

Inhalt

Introduction
1
Programming Paradigms
5
21 Assembly Programming
6
22 Imperative Programming
7
23 Structured Programming and Functions
10
24 Encapsulation and Ada Packages
12
25 ObjectOriented Programming
16
Problems with the ObjectOriented Paradigm
18
55 Weather Polling
78
56 Mathematical Objects
81
57 Airport Simulation Example
82
58 Painting Gallery Management
89
Direct Measurement of Complexity
92
61 Cyclomatic Complexity
93
62 Halstead Complexity Measures
94
63 Maintainability Index
97

32 ObjectOriented Programs Are Difficult to Reuse
20
33 OOP Concepts Are Difficult to Learn
22
34 OOP Lacks Objective Studies on Productivity
24
The Separation Principle
26
42 Caves Solution
27
Selection Sort
31
43 Simplicity
32
431 Traditional Scope Rules
34
432 Simplicity by Using the Separation Principle
37
44 Software Design and the Separation Principle
39
How It Is Applied
42
452 Application to ObjectOriented Design
46
Suitable Problems
49
47 Three Dimensions of this Thesis
51
Examples
53
51 Sequential File Processing
57
52 Restaurant Ordering
60
53 Simple Encryption
62
54 ProducerConsumer
77
64 Function Point Analysis
99
65 Applying Complexity Measures to the Examples
100
66 Analysis of the Results
101
67 Assembly Codes Produced from the Examples
110
Measuring Understandability
116
71 Measuring Understandability through Experiments
117
72 The Experiment
119
73 Subjective Reactions
126
74 Analysis of the Results
129
75 Additional Experiment
130
Software Reuse and Design Patterns
136
Conclusion and Future Works
141
Separation Principle Version of Airport Simulation Program
145
OOP Version of Airport Simulation Program
151
Separation Principle Version of Painting Gallery Management Program
158
OOP Version of Painting Gallery Management Program
173
Bibliography
190
Urheberrecht

Andere Ausgaben - Alle anzeigen

Häufige Begriffe und Wortgruppen

Bibliografische Informationen