Encyclopedia  |   World Factbook  |   World Flags  |   Reference Tables  |   List of Lists     
   Academic Disciplines  |   Historical Timeline  |   Themed Timelines  |   Biographies  |   How-Tos     
Your Ad Here
Sponsor by The Tattoo Collection


Object-oriented programming language
Main Page | See live article | Alphabetical index

Object-oriented programming 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, Eiffel and Ruby, which were designed specifically to facilitate - even enforce - object-oriented methods; languages such as Java 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. Oberon (and its successor Oberon-2) include most of the functionality of objectss (classeses, methodss, inheritance, and reusability) but in a distinctly original, and elegant, form.

Some languages include abstract data type support, but not all of the features of object orientation (eg, Modula-2 which provided excellent encapsulation and information hiding). These are sometimes called object-based languages.

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

  1. Ada 95
  2. C++
  3. C#
  4. Common Lisp
  5. CorbaScript
  6. COOL (Object Oriented COBOL)
  7. D
  8. Delphi
  9. ECMAScript (JavaScript)
  10. Eiffel
  11. Gambas
  12. IDLscript
  13. incr Tcl
  14. J
  15. Java
  16. JavaScript
  17. Lexico
  18. Lingo
  19. Modula
  20. NewtonScript
  21. Oberon and Oberon-2
  22. Objective C
  23. Perl 5
  24. PHP
  25. PowerBuilder
  26. Python
  27. Ruby
  28. Sather
  29. Self
  30. Simula
  31. Smalltalk
  32. STOOOP
  33. Superx++
  34. VBScript
  35. Visual Basic / VB.NET
  36. XOTcl