Taivalsaari’s paper highlights that the class-based worldview (programmatic or otherwise) is Aristolean. Aristotle’s class-based worldview had two major flaws:
- He made the assumption that there is a universal taxonomy; and
- The “class” (perfect type) is more real than the “instance” (the concrete example of the type).
Both of these assumptions were challenged in later Wittgenstein’s work. Despite that much of what the later Wittgenstein wrote did not make much sense, it is surprising to find, in his Philosophical Investigations, an explanation of how nuanced the Aristolean picture is when he considers the meaning and definition of “game”. Due to these nuisances, Wittgenstein ended-up to opt for the idea of family resemblances or prototypes.
Taivalsaari claims that Aristotle is the conceptual father of class-based object-oriented programming, whereas the work of Wittgenstein has served as an inspiration for the alternative prototype-based approach. Given this, Taivalsaari argues that class-based object-oriented programming suffers the same defects as the Aristolean worldview. Furthermore, many programmers are unaware of this.