|
An object-object-oriented programing language (besides known as an OO language) is of these that allows or even encourages, to a few degree, object-oriented programming methods.
Simula (1967) is generally accepted when a foremost language to keep around a primary features of an object-oriented language. It was created for making simulation programs, in which what come to become known as objects were a first references representation. Smalltalk (1972 to 1980) is arguably a canonical case, & the 1 sustaining which lot of the theory of object-oriented programming was developed.
OO languages may be grouped into many wide classes, determined per extent to which it trend lines a lot features & functionality of object-orientation & objects: classes, methods, polymorphism, inheritance, and reusability.
Languages known as "Pure" OO languages, because all about within the two is treated systematically an object, from either primitives like characters & punctuation, all the way as much as completely classes, image, hinders, modules, etc. It were designed specifically to help, potentially enforce, OO methods. Examples: Smalltalk, Eiffel, Ruby.
Languages designed in the main for OO programming, however by having a select few procedural elements. Examples: Java, Python.
Languages that come historically procedural languages, but own been extended by owning occasionally OO features. Examples: C++, Fortran 2003, Perl.
Languages by using virtually all of the features of objects (classes, methods, inheritance, reusability), however within the distinctly original, potentially elegant, form. Examples: Oberon, and successor Oberon-2.
Languages using abstract data type support, but not all features of object-orientation, periodically known as object-depending languages. Examples: Modula-2 (with first-class encapsulation & facts concealment), Pliant.
Inheritance & polymorphism are usually wont to reduce code bloat. Abstraction and encapsulation are used to increase code clarity, quite independent of the more ii traits.
Languages with object-oriented features
Ada 95
BETA
Boo
C++
C#
ColdFusion
Common Lisp
COOL (Object Oriented COBOL)
CorbaScript
Corn
D
Delphi
Dylan
Eiffel
F-Script
Fortran 2003
Gambas
IDLscript
incr Tcl
J
JADE
Java
Join Java
Lava
Lexico
Lingo
Modula-2
Modula-3
Objective Modula-2
NetRexx
Oberon
Oberon-2
Object REXX
Objective-C
Objective Caml
Oz
Mozart Programming System
Perl 5
PHP
Pliant
PowerBuilder
Prototype-based languages
Actor-Depending Co-occurrent Language, ABCL: ABCL/1, ABCL/R, ABCL/R2, ABCL/c+
Agora
Cecil
Cel
ECMAScript a.k.a. ActionScript, DMDScript, JavaScript, JScript
Io
Lua
MOO
NewtonScript
Obliq
REBOL
Self
Python
REALbasic
Revolution
Ruby
Sather
Scala
Simula
Smalltalk
Self
Bistro
Squeak
STOOOP (Tcl extension)
Superx++
TADS
Ubercode
Visual Basic
VB.NET
VBScript
Visual FoxPro
Visual Prolog
XOTcl
ZZT-oop
Implementing designs expressed in UML
A Unified Modeling Language (UML) is a language-agnostic, non-proprietary modeling language that can be utilized to project object-oriented systems. These are typically esteem a complete specification of OO, as an abstract project expressed around UML could ideally exist as implemented in any OO programing language.
UML specifies, among more items, the placed of component types & relationships. There exists presently there are no known OO language that inherently (i personally.e. forswearing important manual effort) supports a to the full OO capability. Features occasionally lacking include:
Correct behaviour for the various component relationships (aggregation, composition).
Polymorphism on message arguments.
de:Objektorientierte Programmiersprache
pl:Obiektowy_j%C4%99zyk_programowania
|