Lecture
Programming languages are often classified by level . The language level indicates how close the language is to a person’s natural record. Procedural languages are the lowest level. Functional - much higher. Logical languages can in principle be of the highest level, but because of the high complexity of the theory underlying them, they are developed rather slowly. The widespread in the world of languages logical group is quite small.
The groups of languages considered by us are not something absolute. Over time, there may be new approaches to programming, which will be divided into separate groups. Therefore, the question arises: what is common between different languages, what is their essence.
In principle, all programming languages are designed to solve problems using mathematics (almost all of its sections). The closest to the person is the language of the mathematical record of the condition of the problem and its solution. This refers not only to strictly formalized rules of mathematical notation, but to present it using natural design techniques and commenting that are natural to people. It is possible even with the use of phrases in ordinary communication languages, just as schoolchildren or students write down tasks.
Currently in the world there are several hundreds of actually used programming languages. For each has its own scope.
Any algorithm, as we know, is a sequence of prescriptions, which can be accomplished in a finite number of steps from the initial data to the result. Depending on the granularity of the prescriptions, the level of the programming language is usually determined — the less detail, the higher the language level.
According to this criterion, the following levels of programming languages can be distinguished:
Machine languages and machine-oriented languages are low-level or first-generation languages - 1GL , requiring the specification of fine details of the data processing process.
With the advent of the 2nd generation computer (transistor), second-generation languages (2GL) appeared , in which the degree of integration of actions was much higher. These are languages such as macro assembler and auto code.
High-level or third-generation languages - 3GL mimic natural languages using some words of the spoken language and common mathematical symbols. These languages are more convenient for humans.
High Level Languages (3GL) are divided into:
The programming history shows the desire, on the one hand, to approach this ideal, and, on the other hand, to automate the task-solving process as much as possible so that the programmer does not describe the algorithms and actions in all details. The ideal case of such automation will be the complete absence of any sequences of actions - the operator will enter only the conditions of the problem - everything else, including the choice of solution method, the construction of data structures, the creation of algorithms will be performed by the programming system itself. Let's try to present our reasoning in the form of a diagram.
Figure 1 - Diagram of the level of languages of mathematical writing.
As can be seen from the diagram, programming languages are subject to some general pattern. Their level and degree of declarativeness is growing smoothly and interconnectedly. The most progressive for applied high-level programming are, apparently, languages based on functional and logical approaches. (It should not be forgotten that many so-called artificial intelligence systems have been developed in the world - AI, which are not part of a specific group, but also have an undoubted influence on the evolution of languages.)
Comments
To leave a comment
Programming Languages and Methods / Translation Theory
Terms: Programming Languages and Methods / Translation Theory