Skip to Main Content
In a recent article Alan Kay, the originator of Smalltalk, wrote: `The move to object-oriented design represents a real change in point of view Â¿ a change of paradigm Â¿ that brings with it an enormous increase in expressive powerÂ¿ (Scientific American, September 1984). If this statement is true, it is clearly important to know what is meant by object-oriented design. Object-oriented programming is perhaps more common terminology; however. `object-oriented programmingÂ¿, rather like `structured programmingÂ¿, is not something that can be simply defined. It has become very fashionable to describe any and all software, hardware and user-interface systems as `object-orientedÂ¿, and this fashion tends to obscure the fact that `object-oriented programmingÂ¿ does represent a fairly fundamental change in the way programming is carried out and understood. This paper issustrates the meaning of `object-oriented programmingÂ¿ by describing its constituent notions, and showing how the programming languages Simula-67, Smalltalk-80, Clu and Ada are related to it.