Object-based language

An object-based language is a programming language that provides a construct to encapsulate state and behavior as an object. A language that also supports inheritance or subtyping is classified as object-oriented.[1] Even though object-oriented seems like a superset of object-based, they are used as mutually exclusive alternatives, rather than overlapping.[citation needed] Examples of strictly object-based languages – supporting an object feature but not inheritance or subtyping – are early versions of Ada,[2] Visual Basic 6 (VB6), and Fortran 90.

Some classify prototype-based programming as object-based even though it supports inheritance and subtyping albeit not via a class concept. Instead an object inherits its state and behavior from a template object. A commonly used language with prototype-based programming support is JavaScript;

  1. ^ Wegner, Peter (December 1987). "Dimensions of object-based language design" (PDF). In Meyrowitz, Norman (ed.). Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '87. Vol. 22. pp. 168–182. doi:10.1145/38765.38823. ISBN 0897912470. S2CID 819420.
  2. ^ Barbey, S.; Kempe, M.; Strohmeier, A. (1993). "Object-Oriented Programming with Ada 9X". Draft Technical Report. Swiss Federal Institute of Technology in Lausanne Software Engineering Laboratory. Retrieved 15 December 2013. Ada 83 itself is generally not considered to be object-oriented; rather, according to the terminology of Wegner [Weg 87], it is said to be object-based, since it provides only a restricted form of inheritance and it lacks polymorphism.