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 methods.
Simula (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making Computer simulations, in which what came to be called objects were the most important information representation. Smalltalk (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed.
OO languages can be grouped into several broad classes, determined by the extent to which they support all features and functionality of object-orientation and .
Inheritance and Polymorphism in object-oriented programming are usually used to reduce code bloat. Abstraction in object-oriented programming and Encapsulation in object-oriented programming are used to increase code clarity, quite independent of the other two traits.
=Languages with object-oriented features=
*Ada programming language *BETA *Boo programming language *C plus plus *C Sharp programming language *ColdFusion *Common Lisp *COOL (Object Oriented COBOL) *CorbaScript *Corn Programming Language *D programming language *Delphi programming language *Dylan programming language *Eiffel programming language *F-Script programming language *Fortran 2003 *Gambas *IDLscript *incr Tcl *J programming language *JADE programming language *Java programming language **Join Java *Lava programming language *Lexico *Lingo programming language *Modula-2 **Modula-3 **Objective Modula-2 *NetRexx *Oberon programming language **Oberon-2 *Object REXX *Objective-C *Objective Caml *Oz programming language **Mozart Programming System *Perl 5 *PHP *Pliant *PowerBuilder *Prototype-based programming **Actor-Based Concurrent Language, ABCL: ABCL/1, ABCL/R, ABCL/R2, ABCL/c plus **Agora programming language **Cecil programming language **Cel programming language **ECMAScript a.k.a. ActionScript, DMDScript, JavaScript, JScript **Io programming language **Lua programming language **MOO programming language **NewtonScript **Obliq **REBOL **Self programming language *Python programming language *REALBASIC programming language *Revolution programming language *Ruby programming language *Sather programming language *Scala programming language *Simula *Smalltalk **Self programming language **Bistro programming language **Squeak *STOOOP (Tcl extension) *Superx Plus Plus *TADS *Ubercode *Visual Basic **Visual Basic .NET **VBScript *Visual FoxPro *Visual Prolog *XOTcl *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 Object composition (aggregation, composition). *Polymorphism (computer science) on message arguments.|
|