All Topics  
Object-oriented programming language

 

   Email Print
   Bookmark   Link






 

Object-oriented programming language



 
 
An object-oriented programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 techniques such as encapsulation
Information hiding

Information hiding in computer science is the principle of hiding of design decisions in a computer program that are most likely to change, thus protecting other parts of the program from change if the design decision is changed....
, inheritance
Inheritance (computer science)

In object-oriented programming, inheritance is a way to form new class es using classes that have already been defined. The inheritance concept was invented in 1967 for Simula....
, modularity, and polymorphism. Simula
Simula

Simula is a name for two programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard....
 (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation program
Computer simulation

A computer simulation, a computer model or a computational model is a computer program, or network of computers, that attempts to simulation an abstract model of a particular system....
s, in which what came to be called objects were the most important information representation.






Discussion
Ask a question about 'Object-oriented programming language'
Start a new discussion about 'Object-oriented programming language'
Answer questions from other users
Full Discussion Forum



Encyclopedia


An object-oriented programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 techniques such as encapsulation
Information hiding

Information hiding in computer science is the principle of hiding of design decisions in a computer program that are most likely to change, thus protecting other parts of the program from change if the design decision is changed....
, inheritance
Inheritance (computer science)

In object-oriented programming, inheritance is a way to form new class es using classes that have already been defined. The inheritance concept was invented in 1967 for Simula....
, modularity, and polymorphism. Simula
Simula

Simula is a name for two programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard....
 (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation program
Computer simulation

A computer simulation, a computer model or a computational model is a computer program, or network of computers, that attempts to simulation an abstract model of a particular system....
s, in which what came to be called objects were the most important information representation. Smalltalk
Smalltalk

Smalltalk is an Object-oriented programming, Type system, reflection computer programming programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human?computer symbiosis." It was designed and created in part for educational use, more so for constructionist learning, at PARC by Al...
 (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
    Smalltalk

    Smalltalk is an Object-oriented programming, Type system, reflection computer programming programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human?computer symbiosis." It was designed and created in part for educational use, more so for constructionist learning, at PARC by Al...
    , Eiffel
    Eiffel (programming language)

    Eiffel is an International Organization for Standardization-standardized, object-oriented programming language designed to enable programmers to efficiently develop extensible, reusable, reliable software....
    , Ruby
  • Languages designed mainly for OO programming, but with some procedural elements. Examples: C++
    C++

    C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
    , Java
    Java (programming language)

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
    , Python
    Python (programming language)

    Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
    .
  • Languages that are historically procedural languages
    Procedural programming

    Procedural programming can sometimes be used as a synonym for imperative programming , but can also refer to a programming paradigm based upon the concept of the procedure call....
    , but have been extended with some OO features. Examples: Fortran 2003, Perl
    Perl

    In computer programming, Perl is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
    , COBOL 2002.
  • Languages with most of the features of objects (classes, methods, inheritance, reusability), but in a distinctly original form. Examples: Oberon
    Oberon (programming language)

    Oberon is a programming language created in 1986 by Professor Niklaus Wirth and his associates at ETH Zurich in Switzerland. It was developed as part of the implementation of the Oberon operating system....
     (Oberon-1 or Oberon-2).
  • Languages with abstract data type
    Abstract data type

    In computing, an abstract data type is a specification of a set of data and the set of operations that can be performed on the data. Such a data type is abstract in the sense that it is independent of various concrete implementations....
     support, but not all features of object-orientation, sometimes called object-based languages. Examples: Modula-2
    Modula-2

    Modula-2 is a computer programming language invented by Niklaus Wirth at ETH, around 1978, as a successor to his intermediate language Modula. Modula-2 was implemented in 1980 for the Lilith computer, which was commercialized in 1982 by startup company DISER as MC1 and MC2....
     (with excellent encapsulation and information hiding), Pliant
    Pliant

    HistoryIn computer software programming languages history, Pliant is the first attempt to connect C and Lisp programming language branches....
    , CLU.


Languages with object-oriented features

  • ABAP
    ABAP

    ABAP is a high level programming language created by the Germany software company SAP AG. It is currently positioned, alongside the more recently introduced Java_, as the language for programming SAP's SAP Web Application Server, part of its NetWeaver platform for building business applications....
  • Ada 95
  • BETA
    BETA

    BETA is a pure object-oriented language originating within the "Scandinavian School" in object-orientation where the first object-oriented language Simula programming language was developed....
  • Blue
    Blue programming language

    Blue refers to two different and unrelated computer programming languages....
  • Boo
    Boo programming language

    Boo is an Object oriented programming, Type system#Static and dynamic typing programming language in active development since 2003, which seeks to make use of the Common Language Infrastructure's support for Unicode, I18n and web applications, while using a Python -inspired syntax and a special focus on language and compiler extensibility....
  • C++
    C++

    C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
  • C#
  • COBOL
    COBOL

    COBOL is one of the oldest programming languages still in active use. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
  • Cobra
    Cobra (programming language from Cobra Language LLC)

    Cobra is an object-oriented programming language produced by Cobra Language LLC. Cobra is designed by Chuck Esterbrook, and runs on the Microsoft .NET and Mono frameworks....
  • ColdFusion
    ColdFusion

    ColdFusion is an application server and software language used for Internet application development such as for dynamic web page. In this regard, ColdFusion is a similar product to Microsoft Active Server Pages, JavaServer Pages or PHP....
  • Common Lisp
    Common Lisp

    Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in American National Standards Institute standard document Information Technology - Programming Language - Common Lisp, formerly X3.226-1994 ....
  • COOL
  • CorbaScript
    CorbaScript

    CorbaScript is an object-oriented scripting language.See also*CORBA*CorbaWebExternal links** ITworld* by Christophe Gransart...
  • Clarion
  • CLU
  • Curl
  • D
  • Delphi
    Delphi

    Delphi is an archaeology site and a modern town in Greece on the south-western spur of Mount Parnassus in the valley of Phocis. Delphi was the site of the Pythia, the most important oracle in the classical Greek world, when it was a major site for the worship of the god Apollo after he slew the Python , a deity who lived there and protecte...
     (Object Pascal)
  • Dylan
    Dylan programming language

    The Dylan programming language is a multi-paradigm language that includes support for Functional programming and Object-oriented programming programming, and is dynamic programming language and Reflection while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and...
  • E
    E (programming language)

    E is an object-oriented programming language for computer security distributed computing, created by Mark S. Miller, Dan Bornstein, and others at Electric Communities in 1997....
  • Eiffel
    Eiffel (programming language)

    Eiffel is an International Organization for Standardization-standardized, object-oriented programming language designed to enable programmers to efficiently develop extensible, reusable, reliable software....
    • Sather
      Sather

      Sather is an object-oriented programming language. It originated circa 1990 at the International Computer Science Institute at the University of California, Berkeley, developed by an international team led by Steve Omohundro....
  • Falcon
    Falcon (programming language)

    The Falcon Programming Language, with Falcon P.L., Falconpl or Falcon being short names, is an open source, multi-paradigm programming language programming language....
  • F-Script
  • F#
  • Fortran 2003
  • Gambas
    Gambas

    In software development, Gambas is an object-oriented dialect of the BASIC programming language, along with an integrated development environment to accompany it, which runs on Linux and other Unix-like computer operating systems....
  • Graphtalk
  • IDLscript
  • incr Tcl
  • J
    J (programming language)

    The J programming language, developed in the early 1990s by Kenneth Iverson and Roger Hui, is a synthesis of APL programming language and the FP programming language and FL programming language function-level languages created by John Backus....
  • JADE
  • Java
    Java (programming language)

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
    • Groovy
    • Join Java
      Join Java

      Join Java is a programming language that extends the standard Java with the Join Semantics of the Join Calculus. It was written at the University of South Australia within the Reconfigurable Computing Lab by Dr....
    • X10
      X10 (programming language)

      X10 is a programming language being developed by IBM at the Thomas J. Watson Research Center as part of the PERCS?project funded by DARPA's High Productivity Computing Systems program....
  • Lasso
  • Lava
  • Lexico
    Lexico

    Lexico is a Spanish language object-oriented programming educational programming language based on the .NET Framework.Created to facilitate the programming education, specifically object-oriented programming techniques, Lexico has been shown to be successful in introducing Spanish-speaking students to the design of algorithms and data struc...
  • Lingo
  • Matlab
    MATLAB

    MATLAB is a Numerical analysis environment and programming language. Maintained by The MathWorks, MATLAB allows easy matrix manipulation, plotting of function and data, implementation of algorithms, creation of user interfaces, and interfacing with programs in other languages....
  • MathScriptor
    MathScriptor

    Description ----Scriptor is an object-oriented programming environment developed by Robert R. Birge to introduce programming to undergraduates in all disciplines ' or students in the sciences and engineering '....
  • Modula-2
    Modula-2

    Modula-2 is a computer programming language invented by Niklaus Wirth at ETH, around 1978, as a successor to his intermediate language Modula. Modula-2 was implemented in 1980 for the Lilith computer, which was commercialized in 1982 by startup company DISER as MC1 and MC2....
    • Modula-3
      Modula-3

      In Computer science, Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2. While it has been influential in research circles it has not been adopted widely in industry....
  • Moto
  • Nemerle
    Nemerle

    Nemerle is a high level language static typing programming language for the Microsoft .NET platform. It offers functional programming, object-oriented and imperative programming features....
  • NetRexx
    REXX

    REXX is an Interpreted language programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read....
  • Oberon
    Oberon (programming language)

    Oberon is a programming language created in 1986 by Professor Niklaus Wirth and his associates at ETH Zurich in Switzerland. It was developed as part of the implementation of the Oberon operating system....
     (Oberon-1)
    • Oberon-2
      Oberon (programming language)

      Oberon is a programming language created in 1986 by Professor Niklaus Wirth and his associates at ETH Zurich in Switzerland. It was developed as part of the implementation of the Oberon operating system....
  • Object REXX
  • Objective-C
    Objective-C

    Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
  • Objective Caml
  • Oz
    Oz (programming language)

    Oz is a multiparadigm programming language, developed in the Programming Systems Lab at Saarland University.Oz was first designed by Gert Smolka and his students in 1991....
    • Mozart Programming System
      Mozart Programming System

      The Mozart Programming System is a multiplatform implementation of the Oz programming language developed by the Mozart Consortium. It excels in creating Distributed computing, Concurrent programming language applications, because it makes a network fully transparent....
  • Perl 5
    Perl

    In computer programming, Perl is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
  • PHP
    PHP

    PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
  • Pliant
    Pliant

    HistoryIn computer software programming languages history, Pliant is the first attempt to connect C and Lisp programming language branches....
  • PRM
    PRM

    "PRM" may stand for:* Bureau of Population, Refugees, and Migration * Greater Romania Party Romanian ultra-nationalist political party * Parti Rakyat Malaysia ...
  • Prototype-based languages
    Prototype-based programming

    Prototype-based programming is a style of object-oriented programming in which class es are not present, and behavior reuse is performed via a process of cloning existing object s that serve as prototypes....
    • Actor-Based Concurrent Language, ABCL: ABCL/1, ABCL/R, ABCL/R2, ABCL/c+
    • Agora
    • Cecil
    • Cel
    • ECMAScript
      ECMAScript

      ECMAScript is a scripting language, standardized by Ecma International in the ECMA-262 Specification . The language is widely used on the World Wide Web, and is often confused with JavaScript or JScript, the two major Programming language dialect from which ECMAScript was standardized....
      • ActionScript
        ActionScript

        ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform , but is also used in some database applications , and in basic robotics, as with the Make Controller Kit....
      • JavaScript
        JavaScript

        JavaScript is a scripting language widely used for client-side web development. It was the originating Programming language dialect of the ECMAScript standard....
      • JScript
        JScript

        JScript is the Microsoft dialect of the ECMAScript scripting language specification.JavaScript , JScript, and ECMAScript are very similar languages....
    • Etoys
      EToys (Programming Language)

      Etoys is a child-friendly computer Runtime and Object-oriented programming Prototype-based programming computer programming programming language for use in education....
       in Squeak
      Squeak

      The Squeak programming language is a Smalltalk implementation, derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers....
    • Io
      Io (programming language)

      Io is a pure Object-oriented programming Computer programming Programming language inspired by Smalltalk, Self , Lua , Lisp , Act1, and NewtonScript....
    • Lua
    • Lisaac
      Lisaac

      Lisaac is the first compiled object-oriented programming language based on prototype-based programming concepts, with system programming facilities and design by contract....
    • MOO
    • NewtonScript
      NewtonScript

      NewtonScript is a prototype based programming language created to write programs for the Newton platform. It is heavily influenced by the Self computer language, but modified to be more suited to needs of mobile and embedded devices....
    • Obliq
    • REBOL
      REBOL

      REBOL, the Relative Expression Based Object Language , is a data exchange language and programming languageREBOL Technologies, ....
    • Self
  • Python
    Python (programming language)

    Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
  • REALbasic
    REALbasic

    REALbasic is an object-oriented dialect of the BASIC programming language developed and commercially marketed by REAL Software, Inc in Austin, Texas for Mac OS X, Microsoft Windows, and Linux....
  • Revolution
  • Ruby
    Ruby (programming language)

    Ruby is a dynamic programming language, reflection , general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features....
  • Scala
  • SenseTalk
    SenseTalk

    SenseTalk is possibly the most English-like scripting language available in the world today. Derived from the HyperTalk language used in HyperCard, SenseTalk was originally developed as the scripting language within the HyperSense multimedia authoring application on the NeXTStep and OpenStep platforms....
  • Simula
    Simula

    Simula is a name for two programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard....
  • Smalltalk
    Smalltalk

    Smalltalk is an Object-oriented programming, Type system, reflection computer programming programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human?computer symbiosis." It was designed and created in part for educational use, more so for constructionist learning, at PARC by Al...
    • Self
    • Bistro
      Bistro (programming language)

      The Bistro programming language is object oriented, dynamic typing, and Reflection . It is intended to integrate features of Smalltalk and Java , running as a variant of Smalltalk that runs atop any Java virtual machine conforming to Sun Microsystems' Java specification....
    • Squeak
      Squeak

      The Squeak programming language is a Smalltalk implementation, derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers....
  • S (programming language)
    • R (programming language)
      R (programming language)

      In computing, R is a programming language and software environment for statistics computing and graphics. It is an implementation of the S programming language with lexical scoping semantics inspired by Scheme ....
  • Squirrel
  • Superx++
  • TADS
    TADS

    TADS is a programming system for creating interactive fiction games. The name is an acronym for "Text Adventure Development System"....
  • Ubercode
    Ubercode

    Ubercode is a high level platform-sharing programming language designed by and released in 2005 for Microsoft Windows. Ubercode is influenced by the Eiffel and BASIC....
  • Visual Basic
    Visual Basic

    'Visual Basic' is the third-generation programming language event-driven programming and integrated integrated development environment from Microsoft for its Component Object Model programming model....
    • VB.NET
      Visual Basic .NET

      Visual Basic , formerly called Visual Basic .NET , is an object-oriented programming computer language that can be viewed as an evolution of Microsoft Visual Basic implemented on the .NET Framework....
    • VBScript
      VBScript

      VBScript is an Active Scripting language, developed by Microsoft, which uses the Component Object Model to access elements of the environment within which it's running ....
    • VBA
      VBA

      VBA can mean:* Visual Basic for Applications, the application edition of Microsoft's Visual Basic programming language.* Veterans Benefits Administration, an organizational element of the U.S....
  • Visual FoxPro
    Visual FoxPro

    Visual FoxPro is a data-centric object-oriented and Procedural programming programming language produced by Microsoft. It is derived from FoxPro 2 which was developed by Fox Software beginning in 1984....
  • Visual Prolog
    Visual Prolog

    Visual Prolog, also formerly known as PDC Prolog and Turbo Prolog, is a strongly typed object-oriented extension of Prolog. As Turbo Prolog it was marketed by Borland, but it is now developed and marketed by the Danish firm Prolog Development Center that originally developed it....
  • Tcl
    Tcl

    Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration"?according to the author?with programmers devising their own languages intended to be embedded into applications, Tcl quickly gained wide acceptance on its own and is generally thought to be easy to learn, but powerful in competent hands....
    • Xotcl
      XOTcl

      XOTcl is an object-oriented extension for the Tcl created by G. Neumann and U. Zdun. It supports metaclasses. Class and Method definitions are completely dynamic....
       similar to CLOS
    • Snit
      Snit

      Snit is an object-oriented extension to the Tcl programming language. Snit is a recursive acronym that stands for "Snit's Not Incr Tcl." Snit is a pure Tcl Object and megawidget system....
       uses delegation
    • itcl
      Itcl

      incr Tcl is a set of object-oriented extensions for the Tcl programming language. It is widely used among the Tcl community, and is generally regarded as industrial strength ....
       similar to C++
  • XBase plus plus Extends xBase Standard Language
  • ZZT-oop
    ZZT-oop

    ZZT-oop was an early in-game scripting language programming language, designed by Tim Sweeney , for his computer game ZZT....


Implementing designs expressed in UML

The Unified Modeling Language
Unified Modeling Language

Unified Modeling Language is a standardized general-purpose modeling language in the field of software engineering.UML includes a set of graphical notation techniques to create abstract models of specific systems....
 (UML) is a language-agnostic, non-proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 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 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
    Object composition

    In computer science, object composition is a way to Object association simple object s or data types into more complex ones. Compositions are a critical building block of many basic data structures, including the tagged union, the linked list, and the binary tree, as well as the object used in object-oriented programming....
     (aggregation, composition).
  • Polymorphism on message arguments.