Jump to content

Object-based language

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Stevebroshar (talk | contribs) at 12:52, 31 October 2024 (no need to list object-oriented languages here; type checking is off topic). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 object-based languages; lacking full object-oriented support; are early versions of Ada[2], Visual Basic 6 (VB6), and Fortran 90. These support an object feature but not polymorphism or inheritance.

Some classify prototype-based programming as object-based even though it supports polymorphism or inheritance albeit not via a class concept. Instead objects inherit their code and data from template objects. A commonly used language with prototype-based programming support is JavaScript;

Difference between object-oriented and object-based languages
Object-oriented language Object-based language
Object-oriented languages support all of the features of object-oriented programming (OOP): abstraction, encapsulation, inheritance, polymorphism Object-based languages support a subset of the features of OOP, such as polymorphism or inheritance.[citation needed]
Examples: C++, C#, Java, etc. Examples: Visual Basic (pre-.NET)[citation needed]

References

  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.