- Object-oriented programming language
An "object-oriented
programming language " (also called an "OO language") is one that allows or encourages, to some degree,object-oriented programming techniques such as encapsulation, inheritance, modularity, and polymorphism.Simula (1967 ) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation.Smalltalk (1972 to1980 ) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed.
* Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples:Smalltalk , Eiffel, Ruby.
* Languages designed mainly for OO programming, but with some procedural elements. Examples:C++ , Java, Python.
* Languages that are historically procedural languages, but have been extended with some OO features. Examples:Fortran 2003 ,Perl .
* Languages with most of the features of objects (classes, methods, inheritance, reusability), but in a distinctly original form. Examples: Oberon (Oberon-1 or Oberon-2).
* Languages withabstract data type support, but not all features of object-orientation, sometimes called object-"based" languages. Examples:Modula-2 (with excellent encapsulation and information hiding),Pliant .Languages with object-oriented features
*
ABAP
*Ada 95
*BETA
*Blue
*Boo
*C++
*C#
*COBOL
*ColdFusion
*Common Lisp
*COOL (Object OrientedCOBOL )
*CorbaScript
*Clarion
*Curl
*D
*Object Pascal (Borland Delphi)
*Dylan
*E
*Eiffel
**Sather
*F-Script
*F#
*Fortran 2003
*Gambas
*Graphtalk
*IDLscript
*incr Tcl
*J
*JADE
*Java
**Groovy
**Join Java
**X10
*Lasso
*Lava
*Lexico
*Lingo
*Modula-2
**Modula-3
*Moto
*Nemerle
*NetRexx
*Oberon (Oberon-1)
**Oberon-2
*Object REXX
*Objective-C
*Objective Caml
*Oz
**Mozart Programming System
*Perl 5
*PHP
*Pliant
*PRM
*Prototype-based languages
**Actor-Based Concurrent Language, ABCL:ABCL/1 ,ABCL/R ,ABCL/R2 , ABCL/c+
**Agora
**Cecil
**Cel
**ECMAScript
***ActionScript
***DMDScript
***E4X
***JavaScript
***JScript
**Etoys inSqueak
**Io
**Lua
**Lisaac
**MOO
**NewtonScript
**Obliq
**REBOL
**Self
**Tcl with
*Python
*R (programming language)
*REALbasic
*Revolution
*Ruby
*Scala
*Simula
*Smalltalk
**Self
**Bistro
**Squeak
*S (programming language)
*Squirrel
*Superx++
*TADS
*Ubercode
*Visual Basic
**VB.NET
**VBScript
**VBA
*Visual FoxPro
*Visual Prolog
*Tcl
*XBase_plus_plus Extends xBase Standard Language
**Xotcl similar to CLOS
**Snit uses delegation
**itcl similar to C++
*ZZT-oop Implementing designs expressed in UML
The
Unified Modeling Language (UML) is a language-agnostic , non-proprietary modeling language that can be used to design object-oriented systems. It is generally regarded as the complete specification of OO, as an abstract design expressed in UML can ideally be implemented in any OO programming languages.UML specifies, among other things, a set of component types and relationships. There is currently no known OO language that inherently (i.e. without significant manual effort) supports the full OO capability. Features typically lacking include:
*Correct behaviour for the various component relationships (aggregation, composition).
*Polymorphism on message arguments.
Wikimedia Foundation. 2010.