Alpha is an extended dialect of the Algol 60 programming language. It was developed in the USSR in the 1960s under the leadership of Andrei Petrovich Ershov .
The language was supplemented with the “ complex ” type, on which all arithmetic operations could be performed. In the Alpha language, it became possible to work with arrays as a whole, for which the concept of a multidimensional value and a multidimensional variable was introduced and a number of other extensions designed to bring Algol closer to natural mathematical notation.
Content
Creation History
In Ershov’s diary, a record dated September 7, 1958, marked by him as the beginning of an α-translator, was preserved. When designing the language, he was guided by the idea of giving as natural a form as possible for the expression of algorithms of computational mathematics, which was guided by the creators of Algol (a preliminary version of which was published in 1958). After the publication of the “Report on the algorithmic language Algol 60”, it was decided to remove all minor differences from the draft alpha-language (then known under the informal name Siberian ), making it an extension of Algol-60 [1] .
Extensions
Complex numbers
The complex keyword was used to describe complex variables. All arithmetic operations and most mathematical functions (sqrt, ln, exp, sin, cos, tan, sh, ch, th, arctan, arth, arcsin, arccos, arsh, arch) and equality and inequality comparisons work with complex numbers. Functions that are multi-valued for complex arguments, such as the square root or the logarithm , calculate the main value [2] .
Multidimensional Values and Variables
To describe multidimensional variables (which differ from the standard Algol arrays), a form is used, such as real A - an array of 2 × 3 × 5; , instead of the keyword array , for a more natural record, you can use the keywords vector and matrix . If a is a two-dimensional matrix, then a [i,] will refer to its ith row, a [, j] to the jth column, and a [,] to the entire matrix [3] .
Unlike algol arrays, all arithmetic and logical operations and standard functions can be performed on multidimensional values. Arithmetic operations + , - , / , ÷ , ↑ (when raising to a non-integer degree) are performed componentwise [4] .
Notes
- ↑ Irina Kraineva, Natalia Cheremnykh. Alpha language and translator // Open Systems . - 2014. - No. 6 .
- ↑ Anikeeva, 1979 , 2.1. Complex quantities and actions on them, p. 13-16.
- ↑ Anikeeva, 1979 , 2.2. Multidimensional values and variables, p. 16-21.
- ↑ Anikeeva, 1979 , 2.2. Operations on multidimensional arrays, p. 21-23.
Literature
- A.P. Ershov . Alpha-language // Encyclopedia of Cybernetics / V. M. Glushkov . - Kiev : Main edition of the SSE , 1974. - S. 112-113. - 608 p.
- Anikeeva I.N., Buda A.O., Vasyuchkova T.S. Alpha-6 translator in the Dubna system. / A.P. Ershov. - M .: Science . The main edition of the physical and mathematical literature, 1979. - 354 p. - (Programmer's Library).
- Formation of the Novosibirsk school of programming (mosaic of memories) / Igor Vasilievich Pottosin . - Novosibirsk : Russian Academy of Sciences. Siberian branch. Institute of Computer Science A.P. Ershova, 2001 .-- 196 p.
- Irina Kraineva, Natalya Cheremnykh. Alpha language and translator // Open Systems . - 2014. - No. 6 .