Science Fair Project Encyclopedia
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++, Fortran 2003, 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.
Languages with object-oriented features
- Ada 95
- boo
- C++
- C#
- ColdFusion
- Common Lisp
- CorbaScript
- COOL (Object Oriented COBOL)
- D
- Delphi
- ECMAScript (JavaScript)
- Eiffel
- Fortran 2003
- Gambas
- IDLscript
- incr Tcl
- J
- Java
- JavaScript
- Lexico
- Lingo
- Modula-2
- NewtonScript
- Oberon and Oberon-2
- Objective-C
- Perl 5
- PHP
- PowerBuilder
- Python
- REALbasic
- Ruby
- Sather
- Scala
- Self
- Simula
- Smalltalk
- STOOOP
- Superx++
- VBScript
- Visual Basic / VB.NET
- Visual Prolog
- XOTcl
- ZZT-oop
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details


