Object-oriented programming language



         


An object-oriented programming language is one that allows or encourages, to some degree, object-oriented programming 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 objects (classes, methods, 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.

[Top]

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-2
  20. NewtonScript
  21. Oberon and Oberon-2
  22. Objective-C
  23. Perl 5
  24. PHP
  25. PowerBuilder
  26. Python
  27. Ruby
  28. Sather
  29. Scala
  30. Self
  31. Simula
  32. Smalltalk
  33. STOOOP
  34. Superx++
  35. VBScript
  36. Visual Basic / VB.NET
  37. XOTcl







  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License