Simula

Simula is a programming language by Ole -Johan Dahl and Kristen Nygaard in the 1960s on Regnesentral Norsk (Norwegian Computing Center) was developed at the University of Oslo in order to perform simulations of physical processes, for example, the computer can.

The language is considered the first object-oriented programming language. It built on the definition of Algol 60, ​​is block structured with the usual basic data types and control structures and leads classes that combine the concepts of data structures and coroutines.

Simula is considered as predecessor of Smalltalk. Many of the concepts introduced by Simula can be found in modern object-oriented programming languages ​​again. The class concept of Simula -67 was used for example as a model for the C ; the language used even then some of the keywords still used today in modern object-oriented programming languages ​​such as class, new, this.

The word simulation is composed of the components simulated for Simulation and la for language together.

Objects

The language is based on ALGOL 60, but this adds to concepts of objects and coroutines. Simulation also introduces the concept of classes. What in later years under the terms data abstraction - the hiding of implementation details - or modularization - the separation of a program into functional units - was known already exists in simulation as a concept. An object combines subunits possibly together different types of data into a new unit. To manipulate an object matching procedures and functions are therefore agreed to.

In simulation, this implementation is not yet visible to other blocks, but the first step in this direction is done. If there are multiple objects with similar structure, which may differ only in some components, so it is possible to agree on the upper and lower classes, which is now called inheritance.

In addition, there is a possibility to arrange so-called coroutines, so that objects can communicate with each other and act independently; and there are large libraries of functions to manage queues and to perform procedures at fixed points in time, so it is also possible to program extensive simulations. The language found outside Europe hardly spread, although it was very common in Scandinavia. In 1987, the last valid simulation standard was adopted. Here is a code sample:

Agreement of a class definition:

Class date; begin    integer day, month, year;    year: = 1992; end; Generating a " date object ":

Ref (date) day; (* Variable of type "pointer to date " *) Today: - new date; ( * Generation of an object and assigning                           the reference to "today" with ": -" *) outint ( datum.jahr, 6); ( * Output of the year *) Using dates as superclass - the week is added:

Date class day date; begin    ref ( string) weekday; end; genesis

In 1962, Ole -Johan Dahl and Kristen Nygaard met at Regnesentral Norsk ( NO ) in Oslo, the same year a first formal description of the language was presented at the IFIP 62 World Congress in Munich. As UNIVAC supported the simulation project, a UNIVAC 1107 at the NR has been installed. A first prototype of a simulation compiler ran in 1964 on the UNIVAC 1107 of the NR and the simula -I manual was published in 1965. In 1967, the revised language Simula -67, for the then existing on multiple mainframe systems compilers have been developed. In the 70 years simulation has been used many times in practice, and the theoretical concepts of the language had great influence on then modern programming languages. The concepts of object orientation were further developed and eventually implemented consistently for the first time in Smalltalk -80. The first version was written in Smalltalk Simula.

It is told that Dahl and Nygaard had been working on ship simulations. This was due to the combinatorial explosion of parameter relations a bewildering variety of ways in which the diverse attributes of the different ships were able to influence each other. So the idea came up to classify the different types of ships each as separate objects, each class of objects for their own data and their own behavior was himself responsible.

Simula is today still used occasionally, but the historical influence of language is more important than their importance in modern programming. In the Scandinavian countries, simulation has long been used as the language of instruction; the book SIMULA begin also applies in Germany as a classic. Bjarne Stroustrup, who had learned as a student programming with Simula and had to program his later employer AT & T in C, enriched C with the help of a preprocessor ( cfront ) to the essential constructs of simulation in order to continue programming in the acquired type can. Its expansion was first called C with classes and is a C today.

A successor of simulation with the Beta was developed but hardly used.

731577
de