![]() |
|||||||||||||||||||
|
Introduction Object oriented programming is a concept that has been around for 40 years, since Ivan Sutherland's seminal work on SketchPad in 1963, but has only recently become the modern paradigm for software design. --- How to use this site. Click on the links to the left to view a history of object oriented programming. The major timeline, to the left, brings you to sub-timelines, chronologically illustrating the development of each concept in OOP. Definition of OOP. Object oriented programming focuses on objects rather than methods--nouns rather than verbs. OOP is characterized by the following: Objects: packaging data and functionality together into units within a running computer program; objects are the basis of modularity and structure in an object-oriented computer program. Abstraction: combining multiple smaller operations into a single unit that can be referred to by name. Encapsulation: separating implementation from interfaces. Polymorphism: using the same name to invoke different operations on objects of different data types. Inheritance: defining objects data types as extensions and/or restrictions of other object data types. [Source: Wikipedia] The beginnings of OOP. Of course, any work with simulation or reasonably modular creations can be considered to be work with "objects," but the the late 60's are considered the advent of true object oriented programming because it was in ideas developed then that the meaning of "object oriented" crystallized into a meaningful standard. OOP grew out of simulations, and so it is easy to think of the aspects of OOP in terms of physical objects: these objects have parameters, and certain operations can be performed upon them. This mindset is very natural, and is particularly exemplified in Alan Kay's work on Smalltalk in the 70's: the very name is meant to evoke the natural simplicity of approaching the world of computer problem solving in the same way that we are accustomed to approach our own natural environments. --- Finally, I feel duty bound to confess that this entire site was built with only a pencil and paper, so to speak. (That's a metaphor for Emacs.) --- This site was created by Emily Huang in January, 2004. |
||||||||||||||||||