Author_Institution :
University of London, Department of Computer Science & Statistics, Queen Mary College, London, UK
Abstract :
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.