Polymorphism and OOP Claims
If you have had experience with another programming paradigm (e.g., procedural programming) you might find the following excerpt, from “OOP Oversold—A Critique of the OO Paradigm” by B. Jacobs, interesting—whether or not you agree with the author.
“One of the reasons for the popularity and management acceptance of Object Oriented Programming is clever little examples that demonstrate the alleged power of OOP. Most experts realize that these examples are not very representative of ‘good’ real world OO programming. The actual implementation often involves fairly complex arrangements that make real OO messy and more confusing than its competitors. OO fans defend the simple ones as ‘just training examples,’ but there is rarely a disclaimer of such near the examples. If you are new to OOP, please don’t be fooled by simplistic examples. These bait-and-switch examples often take the form of geometric shapes, animal categories, vehicle taxonomies, vehicle parts, employee types, Y2K dates, stacks, device drivers, clothing, or bank account examples.
“These examples often assume the world can usually be divided into clean, never-changing (or hierarchically-changing) categories or ‘chunks,’ in which groups of features always stay together or change in a lockstep dance within generally non-divisible chunks. The truth is messier, and OO is no better optimized to deal with dynamic feature relationships and changes than competitor paradigms, and in many cases seems to be messier in the end.”
a. Support the author’s claim by finding an example in this chapter that he might consider a “training example,” and explain why.
b. Debate the author’s claim by researching and describing an example that demonstrates legitimate practical benefits for polymorphism.
We need at least 10 more requests to produce the solution.
0 / 10 have requested this problem solution
The more requests, the faster the answer.