{{Short description|Type of programming language}} An '''object-based language''' is a imperative 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.<ref>{{cite book|last=Wegner|first=Peter|title=Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '87 |chapter=Dimensions of the object-based language design |date=December 1987|volume=22|issue=12|pages=168–182|doi=10.1145/38765.38823|isbn=0897912470|s2cid=819420|editor1-first=Norman|editor1-last=Meyrowitz|chapter-url=http://www.cse.msu.edu/~stire/cse891f04/wegner.pdf}}</ref> Even though object-oriented programming is a superset of object-based programming, some authors distinguish them by name only when it is useful to point that a given programming language lacks inheritance.{{citation needed|date=October 2024}} Examples of strictly object-based languages {{endash}} supporting an object feature but not inheritance or subtyping {{endash}} are early versions of Ada,<ref>{{cite journal |last1=Barbey |first1=S. |last2=Kempe |first2=M. |last3=Strohmeier |first3=A. |title=Object-Oriented Programming with Ada 9X |journal=Draft Technical Report |year=1993 |url=http://www.adahome.com/9X/OOP-Ada9X.html|access-date=15 December 2013 |publisher=Swiss Federal Institute of Technology in Lausanne Software Engineering Laboratory |quote=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.}}</ref> CLU, 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.

==See also== {{columns-list|

* Class (programming) * Class-based programming * Object (computer science) * Object-oriented programming

}}

==References== {{Reflist}}

{{Programming paradigms navbox}} {{Types of programming languages}} {{Authority control}}

Category:Programming paradigms

{{prog-lang-stub}}