Object-oriented programming language

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 to 1980) 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 with abstract 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 Oriented COBOL)
*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 in Squeak
**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.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • object-oriented programming language — noun (computer science) a programming language that enables the programmer to associate a set of procedures with each type of data structure C++ is an object oriented programming language that is an extension of C • Syn: ↑object oriented… …   Useful english dictionary

  • object-oriented programming language — objektinė programavimo kalba statusas T sritis informatika apibrėžtis ↑Programavimo kalba, kurios pagrindiniai ↑objektai (1) yra ↑objektai (2). Objektinių kalbų pavyzdžiai: „Smalltalk“, „Eiffel“, „Oberon“. Yra procedūrinių programavimo kalbų,… …   Enciklopedinis kompiuterijos žodynas

  • Object Oriented Programming language — programming language in which information and the procedures which handle the information are structured as one object …   English contemporary dictionary

  • TOM (object-oriented programming language) — TOM was an object oriented programming language developed in the 1990s that built upon the lessons learned from Objective C. The main purpose of TOM was to allow for unplanned reuse of code via a well developed extension mechanism. This concept… …   Wikipedia

  • object-oriented programing language — noun (computer science) a programming language that enables the programmer to associate a set of procedures with each type of data structure C++ is an object oriented programming language that is an extension of C • Syn: ↑object oriented… …   Useful english dictionary

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS — (1988, Addison Wesley, ISBN 0 201 17589 4) is a book by Sonya Keene on the Common Lisp Object System. Published first in 1988, the book starts out with the elements of CLOS and develops through the concepts of data abstraction with classes and… …   Wikipedia

  • Object type (object-oriented programming) — See also: Object (computer science) In computer science, an object type (a.k.a. wrapping object) is a datatype which is used in object oriented programming to wrap a non object type to make it look like a dynamic object.[citation needed] Some… …   Wikipedia

  • object-oriented programming — ▪ computer science       use of predefined programming modular units (objects, classes, subclasses, and so forth) in order to make programming faster and easier to maintain. Object oriented languages help to manage complexity in large programs.… …   Universalium

  • Inheritance (object-oriented programming) — In object oriented programming (OOP), inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support. In classical inheritance where objects are defined by …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”