Introduction
Human beings do not live in the objective world alone, nor alone in the world of social activity as ordinarily understood, but are very much at the mercy of the particular language which has become the medium of expression for their society. It is quit e an illusion to imagine that one adjusts to reality essentially without the use of language and that language is merely an incidental means of solving specific problems of communication or reflection. The fact of the matter is that the real world is to a large extent unconsciously built up on the language habits of the group . . . We see and hear and otherwise experience very largely as we do because the language habits of our community predispose certain choices of interpretation.
Edward Sapir (as quoted by Benjamin Whorf in Language Thought and Reality)
In this paper, we attempt to analyze the Object-Oriented Programming languages from a historical perspective. We focus on the development and impact of Object-Oriented Programming languages, on the position of OOP in the general history of software dev elopment, and on the relationship between OOP and the modern changes in the approach to computing. The paper uses Smalltalk as the particular example of OOP, largely because Smalltalk is the oldest of the OOP languages and, therefore, the most suitable f or historical analysis.
We begin by examining the meaning of the object-oriented paradigm. We then analyze the close realtionship between OOP, the shift in the approach to computers, and the human-computer control problem. Next, we attempt to place object-oriented programmi ng in its historical contextand examine some of the reasons behindthe emergence of OOP. We then discuss Smalltalk as an example of an early OOP language. The next section examines the application of Smalltalk and OOP to the solution of real-world probl ems. In particular, we consider the wide use of OOP in complex real-time systems and in networking and the Internet. We conclude by considering the socio-economic impact of object-oriented programming. Here, we focus on the ways in which OOP forces a c hange in the programmers’ approach to their task. We also look at an example of the influence of the object-oriented paradigm in fields not immediately related to code-writing by considering object-oriented strategies in project management.
Lastly, the concepts behind OOP that lead to its prominence and the reasons for OOP’s significance in the stream of technological development are reconsidered in the conclusion.