Object-oriented Programming
Object-oriented programming (OOP) originated in the SIMULA language (1967) for discrete event simulation. The desire was to simulate large numbers of similar objects in an efficient manner. A class/instance representation achieves this goal.
Classes are arranged in a hierarchy or ontology, with inheritance of methods from higher classes.