Difference between object oriented and object based language

Object Oriented is based on message passing, no classes or inheritance involved.

"Object oriented" coined by Dr Alan Kay has been hijacked by C++, Java and Co, Dr Alan Kay made it clear that OO was messages, not classes. Dr Alan Kay On OO "OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things."

Erlang, LISP, Smalltalk are OO programming languages, not C++, Java, c# etc which are in effect object based.


Wikipedia says:

In computer science, the term object-based has two different senses:

  • A somehow limited version of object-oriented programming, where one or more of the following restrictions applies: (a) There is no implicit inheritance, (b) there is no polymorphism, (c) only a very reduced subset of the available values are objects (typically the GUI components).

  • Prototype-based systems (that is, those based on "prototype" objects that are not instances of any class).

Javascript is object based.

Tags:

Javascript

Oop