ITWissen.info - Tech know how online

object oriented programming language (OOPL)

The history of the object-oriented programming languages goes back to the early 70's, whereby their use became generally accepted only in the 90's. A central beginning is it here tools for the efficient development of maintainable and reusable software to develop.

For the classification of a programming language into the group of the object-oriented programming languages the characteristics abstraction, data encapsulation, inheritance, Polymorphismus as well as late binding are fundamental. Therefore it applies that if a programming language does not possess one of these characteristics, then it is no object-oriented programming language.

For the elementary classification of programming languages the following types can be defined;

  • Procedural programming languages such as Fortran, programming language C, Pascal, Cobol etc.,
  • Rule-based programming languages such as Prolog,
  • Logic-based programming languages such as SQL and
  • Aspect-oriented programming languages such as AspectJ

The basis of the consideration of procedural programming languages is the separation of the data and the functions and procedures processing these. The approach of advancements such as the object-oriented languages is now opposite - i.e. the encapsulation of functionality. To this end, data and associated operations are viewed as a unit - as objects. Thereby the data are called attributes and the operations of an object are called methods. The goal for this approach is to achieve a higher efficiency in the development by the reusability of software, and to produce altogether a more maintainable code. The task of object-oriented languages is it now to serve as a tool in this connection - for this in particular five characteristics are fundamental for an object-oriented programming language:

Abstraction Restriction on in the sense of an application substantial characteristics of objects. With the abstraction only those characteristics of an object are considered, which differentiate it from other objects from conceptional view. The internal object structure and the implementation of the methods are abstracted.

Encapsulation Encapsulation of a data structure and the implementation of operations applicable to it. An encapsulated data structure has an interface with the operations that can be accessed from the outside. All accesses to the stored data are made exclusively through the operations of this interface.

Inheritance Relationship between classes by which one class inherits the characteristics of one or more other classes. Inheritance results in a hierarchical arrangement of classes in a class hierarchy.

PolymorphismPolymorphism refers to the assignment of objects of different types to a variable. Thus, different objects have different behavior when the same operation is called.

Late bindingLinking a message - a method to call an operation - only at runtime of a program.

If these characteristics are not fully supported by a programming language working with objects, one speaks also of an object-based programming language. For example, in JavaScript already existing objects - also called prototypes - are derived and the declaration of classes is dispensed with.

Since the end of the 70's there are language developments, which support object-oriented principles more or less strongly. Basically two developments are to be distinguished:

  • The extension of a programming language by object-oriented concepts; the first important language development was Simula-67.
  • The new development of an object-oriented programming language. Here Smalltalk-80 is considered the first known representative.

It is spoken of more than 1,000 different programming languages, whose basis are object-oriented principles. Only few could become generally accepted regarding their spreading. To the above-mentioned first group in particular C++, SIMULA-67, OBJECTICE-C, CLOS and PROLOG++ are counted. Certainly also under the consideration of object-oriented concepts of SMALLTALK-80 and EIFFEL it came to the consistent new development of object-oriented programming languages such as Java, C-Sharp (C#), Scala, Hypertext Preprocessor( PHP), Python or Ruby. Of these, some such as Java and Python support the procedural programming paradigm in addition to object orientation. These are therefore also called multi-paradigm programming languages.

Informations:
Englisch: object oriented programming language - OOPL
Updated at: 29.10.2013
#Words: 628
Links: object (O), software (SW), classification, a programming language (APL), data
Translations: DE
Sharing:    

All rights reserved DATACOM Buchverlag GmbH © 2024