Aristotle and object-oriented programming: why modern students need traditional logic

Classifying is a central activity in object-oriented programming and distinguishes it from procedural programming. Traditional logic, initiated by Aristotle, assigns classification to our first activity in reasoning, whereby we come to know what a thing is. Such a grasp of the thing's whatness is the foundation for all further reasoning about it. This connection between Aristotle's way of classifying and object-oriented programming is sometimes acknowledged, but rarely explored in depth.1 We explore this relation more closely and more carefully, in the hope that a better understanding of classification and programming can be gained from a study of philosophy than from many current text books on object-oriented programming.