Example of Scientific Evolution
Pre-Paradigm Stage: Historical Theories of Light and Vision Before 1700. There is no underlying principle by which to judge any particular theory. - All objects somehow emit light themselves. - The eyes project light onto objects. - The "form" of an object is projected to the mind via the eyes. - ... After 1700: The emergence of two strongly supported paradigms for the nature of light. Both are validated through experimental evidence. - The corpuscular theory. - The wave theory. Required that an ether exist throughout the universe. The Michelson-Morley experiment proved that this ether did not exist. Post-Michelson-Morley - The wave-particle duality of light becomes the accepted paradigm. At this point, the articulation of this paradigm is "normal science."
Resistance to Change
Switched-Color Playing Cards Experiment Evidence of the mind's occasional inability to assimilate changes in the commonplace. The behavior of the group of test subjects is analogous to the behavior of the members of a community undergoing a revolution - e.g., Einstein's reluctance to accept quantum mechanics. Inversion Goggles Experiment Evidence that the mind can, with great regularity, assimilate changes in the commonplace. "Though psychological experiments are suggestive, they cannot, in the nature of the case, be more than that. They do display characteristics of perception that could be central to scientific development, but they do not demonstrate that the careful and controlled observation exercised by the research scientist at all partakes of those characteristics."
Implications for Software Engineering
Is software engineering a science? Scientific communities are able to reach a "firm consensus unattainable in other fields." Multiple programming paradigms: - Procedural - Functional - Object-Oriented - Logical Does it matter whether or not software engineering ever becomes a science by Kuhn's definition? Some potential benefits of working from single paradigms in terms of software engineering: - Consistency in all aspects of the design process. - Clients know what to expect. - Reusable code repository. - Reduce possibilities for confusion and error. - Enhanced productivity and quality. - Reduce production costs. - Elimination of system compatibility issues.
© 1997 by Slimy - What do you want to eat today?[TM]
SlimyLeapfrogHamburger®
Don't even think about using my trademark.[TM]