High-level programming language

A high-level language (English high-level programming language ) is a programming language for writing a computer program, one of the historically evolved human languages ​​(English, Japanese, etc. ) is very similar away.

History

As the world's first high-level programming applies the Plankalkül by Konrad Zuse, but had no influence on the development of later languages.

The first computers were instructed by means of programs in machine code. This consists of only a sequence of numbers that can be interpreted by the processor as a sequence of instructions. These commands consist of simple instructions such as arithmetic, memory access, etc. The first innovation was the invention of assembly languages ​​that are not abstract, but represent commands in text form.

The late 1950s, computers were so powerful that translation programs could facilitate the input of programs essential. Fortran, Algol and Lisp were the first representatives remember their names to the new, more comfortable options of languages ​​and translation programs:

  • Fortran - FORmula TRANslation = formula translation
  • ALGOL - Algorithmic Language = language algorithms

These first high-level languages ​​contained abstract elements such as conditional statements ("if x is true, then y am running " ) and loops ( "as long as x is true, y am running "). These constructs could now be programmed with less effort and expressed in readable form their purpose.

Later followed other languages ​​, which offered a higher level of abstraction (hence the term high-level language ). A program could in subroutines (procedures) are divided and these in turn are grouped into modules. So it was possible to develop part programs by different people without a Convention on the variables used had to be made ​​because for each procedure, the variables were redefined. Well but the input and output parameters passed from the main to the sub-program and vice versa. In principle, it can be said that high-level languages ​​to express more ( logic) with less text. Simultaneously, the readability of the program text is increased.

Meanwhile, the abstractions are so far advanced that the notion of " language " has become relative. So the first languages ​​like Fortran higher than assembler languages ​​and modern languages ​​are higher than Fortran. The term high-level language always involves therefore a reference to a language or language family.

This is also evident from another fact: The first high-level languages ​​were first translated into assembly language or machine code to be executed can. Some more modern languages ​​are today only translated into fewer high languages ​​from which in turn relatively efficient machine code can be obtained. The programs with which such translations are done, hot compiler.

In addition, a program can also be interpreted in a higher programming language. The program is not pre- compiled into machine code, but during its runtime interpreter introduces the instructions. So this provides an interface between the computer and program, and is now usually written in another high level language.

Most "modern" programming languages ​​( BASIC, C, C , C #, VB.NET, Pascal and Java) are the third generation languages.

Compared to assembly language

Example:

A: = 2;    FOR I: = 1 TO 20 LOOP        A: = A * I;    END LOOP;    PRINT ( A); example:

START ST.    ST: MOV R1, # 2        MOV R2, # 1    M1: CMP R2, # 20        BGT M2        MUL R1, R2        INI R2        JMP M1    M2: JSR PRINT       . END Classification and succession

The high-level languages ​​are also called third-generation programming languages ​​(English third generation languages ​​, short 3GL ). In programming languages, the third generation must be described exactly how a given problem should be solved. The task is difficult to detect from source. Therefore, the fourth-generation programming languages ​​have been developed that are usually optimized for specific problem solutions and for which the code describes what the computer is to perform.

Today there are many different high-level languages ​​, some of which are generally applicable, but others are used only for special applications. Generally applicable programming languages ​​(general purpose languages) are not tailored to specific applications and provide general abstractions. The so-called domain-specific languages ​​( Domain Specific Languages ​​, DSL) on the other hand allow abstractions for a particular application. The latter are currently being researched intensively. So there are languages ​​for track control of train routes with partially graphical programming, ie the " program text " there consists of graphics that can be manipulated, for example by mouse input. The goal of this programming way is to make a writing of programs in text form unnecessarily and make them accessible to the programming intuitive operation of a larger group of users.

14189
de