List of object-oriented programming languages

Last updated

This is a list of notable programming languages with object-oriented programming (OOP) features, which are also listed in Category:Object-oriented programming languages. Note that, in some contexts, the definition of an "object-oriented programming language" is not exactly the same as that of a "programming language with object-oriented features". [1] For example, C++ is a multi-paradigm language including object-oriented paradigm; [2] however, it is less object-oriented than some other languages such as Python [3] and Ruby. [4] Therefore, some people consider C++ an OOP language, while others do not or refer to it as a "semi-object-oriented programming language".

Contents

Languages with object-oriented features

See also

Related Research Articles

Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or class may only inherit from one particular object or class.

Prototype-based programming is a style of object-oriented programming in which behaviour reuse is performed via a process of reusing existing objects that serve as prototypes. This model can also be known as prototypal, prototype-oriented,classless, or instance-based programming.

Bytecode is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references that encode the result of compiler parsing and performing semantic analysis of things like type, scope, and nesting depths of program objects.

This is a "genealogy" of programming languages. Languages are categorized under the ancestor language with the strongest influence. Those ancestor languages are listed in alphabetic order. Any such categorization has a large arbitrary element, since programming languages often incorporate major ideas from multiple sources.

Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms.

<span class="mw-page-title-main">History of programming languages</span> Aspect of history

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.

Programming languages are used for controlling the behavior of a machine. Like natural languages, programming languages follow rules for syntax and semantics.

In Microsoft Windows applications programming, OLE Automation is an inter-process communication mechanism created by Microsoft. It is based on a subset of Component Object Model (COM) that was intended for use by scripting languages – originally Visual Basic – but now is used by several languages on Windows. All automation objects are required to implement the IDispatch interface. It provides an infrastructure whereby applications called automation controllers can access and manipulate shared automation objects that are exported by other applications. It supersedes Dynamic Data Exchange (DDE), an older mechanism for applications to control one another. As with DDE, in OLE Automation the automation controller is the "client" and the application exporting the automation objects is the "server".

The following outline is provided as an overview of and topical guide to computer programming:

This comparison of programming languages compares the features of language syntax (format) for over 50 computer programming languages.

<span class="mw-page-title-main">Scripting language</span> Programming language for run-time events

A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.

Object-Oriented Programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields, and the code is in the form of procedures.

References

  1. Rentsch, Tim (1 September 1982). "Object oriented programming". ACM SIGPLAN Notices. 17 (9): 51–57. doi:10.1145/947955.947961. S2CID   14373518.
  2. Coplien, James O. (1999). Multi-paradigm design for C++ (3rd printing ed.). Reading, Mass. [u.a.]: Addison-Wesley. ISBN   978-0-201-82467-4.
  3. Lutz, Mark (2013). Learning Python: Powerful Object-Oriented Programming. "O'Reilly Media, Inc.". ISBN   9781449355692.
  4. Flanagan, David; Matsumoto, Yukihiro (2008). The Ruby programming language (1st ed.). Beijing: O'Reilly. ISBN   978-0596554651.