Encyclopedia > Object-oriented language

  Article Content

Object-oriented programming language

Redirected from Object-oriented language

An Object-oriented programming language is one that allows or encourages, to some degree, object-oriented programming methods. See object-oriented programming for details about those methods.

Though Simula (1967), a language created for making simulation programs, was probably the first language to have the primary features of an object-oriented language, Smalltalk is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed.

These languages include "pure" object-oriented languages such as Smalltalk and Ruby, which were designed specifically to facilitate--even enforce--object-oriented methods; languages such as Java, Eiffel, and Python, which are primarily designed for object-oriented programming but have some procedural elements; and languages such as C++ and Perl[?], which are historically procedural languages that have been extended with some object-oriented features.

Some languages include abstract data type support, but not all of the features of object orientation. These are sometimes called object-based languages. PHP 4, for example, includes no provisions for inheritance or polymorphism, but does allow for a concept of "class", and thus enables the programmer to use unenforced versions of abstraction and encapsulation. This is often useful--inheritance and polymorphism are usually used to reduce code bloat[?], but abstraction and encapsulation are used to increase code clarity, quite independent of the other two.

Languages with object-oriented features



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
242

...     Contents 242 Centuries: 2nd century - 3rd century - 4th century Decades: 190s 200s 210s 220s 230s - 240s - 250s 260s 270s 28 ...

 
 
 
This page was created in 37.9 ms