Programming languages

Programming languages are formal languages specially created for communication between a person and a computer. Each programming language, as well as the "natural" language (Russian, English, etc.), has an alphabet, vocabulary, its grammar and syntax, and semantics.

Programming languages are formal languages specially created for communication between a person and a computer

Alphabet - a fixed for this language set of basic characters allowed to compose the text of the program in this language.

Syntax is a system of rules that define valid programming language constructs from alphabet letters.

Semantics is a system of rules for unambiguous interpretation of individual language constructs that allow to reproduce the process of data processing.

The interaction of syntactic and semantic rules determines certain concepts of the programming language, for example, operators, identifiers, variables, functions and procedures, modules, etc. Unlike natural languages, the rules of grammar and semantics for programming languages, as for all formal languages, must be explicitly, unambiguously and clearly formulated.

Programming languages that simulate natural languages that have large teams focused on the solution of applied content problems are called "high-level" languages. At present, there are several hundred such programming languages, and if one considers their dialects, this number will increase to several thousand. High-level programming languages are very different from machine-oriented (low-level) languages. First, the machine program is ultimately written using only two characters 0 and 1. Second, each computer has a limited set of machine operations oriented to the structure processor. Typically, this set consists of a relatively small number of simple operations, such as: send a number to the cell; count the number from the cell; Increase the contents of the cell by +1 and so on. The command in the machine language contains a very limited amount of information, so it usually determines the simplest exchange of the contents of memory cells, elementary arithmetic and logical operations. The command contains the code and addresses of the cells, the contents of which are executed coded action.

High-level programming languages have the following advantages:

  • the alphabet of the language is much wider than the machine language, which makes it much more expressive and significantly enhances the clarity and clarity of the text;

  • a set of operations that are valid for use is independent of the set of machine operations, but is selected for reasons of convenience in the formulation of algorithms for solving problems of a certain class;

  • The design of the teams (operators) reflects the content of the data processing and is set in a form convenient for the person;

  • The apparatus of variables and the actions with them are used;

  • A wide variety of data types are supported.

Thus, high-level programming languages are machine-independent and require the use of appropriate translation programs (translators) to represent the program in the language of the machine on which it will be executed.

Tools