The author emphasizes on metaphors or models or analogies that help one understand a poorly understood topic. The author provides examples of the wave theory of light and the kinetic theory of gases which were analogous to a similar theory of sound and billiard ball model respectively. The author warns against over-extending any analogy citing the example of "ether", the medium that was supposed to be propagating light the way air propagates sound.
Author feels a metaphor is much nearer to heuristics than algorithm.
Author points out that the software engineering is a younger field (was a younger field in 1994 when the book was written but not now) and does not have standard set of metaphors.
The author provides four metaphors to better understand software construction:
Author feels a metaphor is much nearer to heuristics than algorithm.
Author points out that the software engineering is a younger field (was a younger field in 1994 when the book was written but not now) and does not have standard set of metaphors.
The author provides four metaphors to better understand software construction:
- Software Penmanship: Writing a software is like writing a letter. Just throw as many drafts in wastebasket as required before the final letter comes up.
- Software Farming: Consider growing software as planting seeds and growing crops.
- Software Oyster Farming: Software creation is incremental just like how oyster makes a pearl by adding small amount of calcium carbonate.
- Software Construction: Author finds this metaphor to be the most powerful. A lot of parallels can be drawn between building a house and building a large software.