1. What is object-oriented programming

Object oriented programming is a programming method that maps the real world to a computer model through objects.

OOP designs software architecture around objects rather than functionality and logic. An object can be defined as a data type with unique attributes and methods.

2. History of object-oriented development

In the modern sense of object-oriented programming, the use of the terms “object” and “object-oriented” first appeared at MIT in the late 1950s and early 1960s.

Sketchpad was created in 1960-61 by Ivan Sutherland, who defined the concepts of “object” and “instance” in the glossary of a technical report based on his paper on Sketchpad in 1963.

In 1962, Kristen Nygaard launched an analog language project at the Norwegian Computer Center. The Simula programming language was designed to be used. Simula introduced important concepts that are now an important part of object-oriented programming, such as classes and objects, inheritance, and dynamic binding.

In 1965, Simula was designated as the first programming language widely recognized as “object-oriented.” Like Sketchpad, Simula has object functionality and eventually introduces classes, class inheritance, subclasses, and virtual methods.

Inspired by the simplicity of LISP and Simula 67’s classes and objects, and inspired by Simula’s idea of classes, objects and object references. Founded by Alan Kay circa 1966 or 1967, Smalltalk refined the concept of objects and explored the concept of objects like minicarputers, or as Kay put it, “recursion of the concept of the computer itself.” Objects combine data (attributes) with operations (methods) performed on that data in the same way that arithmetic and logical units manipulate data stored in computer memory.

In a 2003 E-mail exchange, Alan Kay clarified what he meant by calling Smalltalk “object-oriented” :

“To me, object-oriented operations simply mean messaging, local retention and protection, hiding of state processes and extreme late binding of everything.” Alan Kay

In other words, according to Alan Kay, the basic elements of OOP are:

  • message

  • Packaging form

  • Dynamic binding

It is worth noting that inheritance and subclass polymorphism were seen as a necessary part of OOP by Alan Kay, who coined the term and brought OOP to the masses.

Smalltalk has since influenced many OOP languages, including Objective-C (1984), Object Pascal (1986), Erlang (1986), CLOS (circa 1987), Ruby (1995), Java (1995), Python, PHP, Perl, Groovy (2003), Scala (2004), Dart (2011), etc.

While most of OOP’s benefits were available in the early Simula languages, it wasn’t until the mid-1980s that Bjarne Stroustrup moved C to object-oriented, creating the object-oriented C++ language. Then OOP took off after C++ became entrenched in the 1990s.


Want to see more exciting content, pay attention to the public account “front-end captain”, get more front-end technology and personal growth related content.