Code

Andrey Ershov: The First Soviet Programmer and His Alpha and Beta Languages

Andrey Ershov: The First Soviet Programmer and His Alpha and Beta Languages

Python course: 4 Projects for Beginners and Experienced Coders

Learn More

From Physics to IT: Andrey Ershov's Journey

Andrey Ershov is one of the first certified programmers in the Soviet Union. His professional career began during the early stages of programming. Ershov played a key role in the development of this field, making a significant contribution to the popularization and development of computer technology in the country.

Entering university was an important milestone for Ershov, and he successfully overcame this challenge, overcoming difficult entrance exams. He easily passed three rounds of exams, demonstrating his exceptional abilities and preparation.

In his first year, an unexpected development arose: his application revealed that he had spent his childhood in Rubezhnoye, a city occupied by the Nazis. This circumstance became an obstacle to his study of physics, which was considered a science of national importance in the USSR.

In search of new opportunities, Ershov transferred to the programming department, which was still in its infancy. At that time, students were primarily occupied with computer maintenance, making real programming out of the question.

The situation changed dramatically with the arrival of Professor Alexei Lyapunov to the department, who introduced the innovative course "Principles of Programming." This course became a true revolution in the educational sphere, as until then, information about the operation of Soviet computers remained classified. Lyapunov not only opened up access to programming knowledge, but also showed students how to use this knowledge in practice. His course became the basis for the formation of a new generation of specialists in the field of information technology, capable of effectively working with computer systems and developing them.

Alexey Lyapunov Photo: Wikimedia Commons

Lyapunov had the unique opportunity to test the first European electronic computer, the MESM, in Kyiv. This experience laid the foundation for the key ideas and operating principles of computers. He laid the foundations of the operator method, which later became the basis for the development of symbolic programming languages ​​and translator theory. Lyapunov's contributions to computer science had a significant impact on the development of computing and programming.

The professor noticed Ershov's outstanding abilities and took him under his wing as a mentor. This mentorship inspired the young scientist to new achievements in his career and research. Under the professor's guidance, Ershov was able to develop his skills and make significant contributions to his field of research.

In parallel with his studies, Andrei actively studied English, recognizing its importance as an international means of communication in science and technology. This language has become key for the exchange of knowledge and technology, which makes its knowledge necessary for a successful career in modern conditions.

MESM Photo: Wikimedia Commons

In In the 1950s, the profession of "programmer" was just beginning to develop in the Soviet Union, and Ershov played a key role in this process. After successfully completing university and graduate school, he took a position as a senior engineer in the programming laboratory and later became head of the theoretical programming department at the Computing Center of the USSR Academy of Sciences. Ershov made a significant contribution to the development of programming in the country, making him a key figure in the history of Russian computer science. Thus began his distinguished scientific career, which had a significant impact on the development of programming in the country. His research and development contributed to the formation of new approaches and standards in programming, leading to improved software quality and increased accessibility. His work laid the foundation for further innovation in this field, making him a key figure in the history of Russian programming.

The Path to First Success in Programming

During his graduate studies, Andrei Ershov made a significant contribution to the development of programming by beginning the development of a programming program for the Large Electronic Computing Machine (BESM) and the Strela computer. These computers, although modern for their time, were bulky vacuum-tube devices that required constant technical support. Ershov focused his efforts on improving the functionality and ease of programming, which contributed to more efficient use of these complex systems.

BESM Photo: Wikimedia Commons
The Strela computer Photo: Wikimedia Commons

Despite existing limitations, such as insufficient computing power for the nuclear and defense industries, there was an urgent need for automation during this period. programming. Ershov led the project, proposing innovative approaches and methods that later became fundamental in compiler theory. These developments not only improved programming processes but also laid the foundation for further research in automation, which played a key role in the development of computing technology.

  • Integration of the scheme and specifications of operators in the PP for BESM in a single document with the addition of a loop operator;
  • Implementation of the table method for syntactic analysis in the PP for "Strela-3";
  • Optimization of programming of arithmetic expressions using new economical arrangement methods.

The monograph "Programming Program for the BESM Electronic Computer" is one of the world's first studies devoted to the automation of programming. This work had a significant influence on the development of computer science and inspired many scientists, including Donald Knuth, with whom the author, Ershov, later became a close friend. The book not only laid the foundation for further research in the field of programming, but also contributed to the dissemination of knowledge about computers, which became an important stage in the evolution of information technology.

When Andrey's book "Programming for BESM" As soon as it was published, students convinced their Russian language teacher to include it in the course as one of two collections for studying scientific vocabulary. This event was memorable for Knut, a renowned computer scientist and author of numerous scientific papers, who shares his recollection of the book's importance in the educational process. The book not only enriched students' knowledge, but also became a significant contribution to the study of programming and computer science in Russia.

The first print run of 4,000 copies sold out in just a month, confirming the high interest in this work. Ershov, commenting on this success, reacted cautiously: "PP is not available in stores! The author is pleased to hear it." This fact underscores the book's significance and its demand among readers.

World Fame: The Path to Triumph

Soviet programmers encountered many difficulties on the path to international recognition. Their developments, capable of revolutionizing technology, remained unnoticed due to strict secrecy. Nevertheless, interest in Soviet achievements in programming and technology was enormous, especially against the backdrop of the USSR's significant successes in space exploration. These achievements attracted attention both within the country and abroad, highlighting the unique contribution of Soviet specialists to global science and technology.

Ksenia Tatarchenko, a sociologist and author of "Cold War Origins of the International Federation", emphasizes that concerns arose in the West about the USSR's ability to take a leading position in the field of computing. This fear became a catalyst for increased interest in Soviet technological achievements and innovations. During the Cold War, monitoring the development of Soviet science and technology became an important element of the West's competitive strategy.

Since 1959, Ershov, a prominent figure in Soviet programming, began his work as the Scientific Secretary of the Commission on International Relations of the Computing Center of the USSR Academy of Sciences. This position provided him with a unique opportunity to interact with foreign specialists and exchange knowledge and experience, which played a significant role in the development of technology in the country. Ershov actively promoted the integration of Soviet research into the international scientific community, which had a positive impact on progress in the field of programming and computer technology.

During this international collaboration, Ershov met Professor Perlis from the Carnegie Institute of Technology. This contact became a key moment in his career, as the professor introduced him to the Algol programming language. Knowledge of Algol significantly enriched his research and opened up new perspectives in the field of computer science.

Ershov participated in the international symposium "Mechanization of Thinking Processes", which was held in the UK. This forum was the first of its kind focused on the topic of artificial intelligence and marked an important stage in his professional career. Participation in the symposium contributed to the strengthening of collaboration between Russian and Western scientists in the field of AI, highlighting the importance of cross-cultural exchange of knowledge and experience in this field. Ershov became one of the few bridges between Soviet programmers and the global community, for which he was highly regarded both within the USSR and abroad. He received invitations to give lectures and had access to Western literature on programming, which was unavailable in the Soviet Union. His work facilitated the exchange of knowledge and ideas, which had a positive impact on the development of domestic computer science. Thanks to Ershov, Soviet specialists were able to better integrate into the international programming community, which contributed to the development of technology and innovation in the country.

Innovations in Soviet Programming: Alpha and Beta

In 1957, Andrei Ershov, an outstanding scientist, headed the Department of Algorithm Theory and Programming at the Institute of Mathematics, located in the Novosibirsk Akademgorodok. This stage became a key one in his scientific career and life, determining the direction of his research and contribution to the development of computer science and programming in Russia. Ershov played a key role in the development of algorithmic science and had a significant influence on the formation of the domestic programming school.

In Novosibirsk, developer Ershov launched a project to create the Alpha programming language, inspired by the Algol 60 language. The Alpha language offers new capabilities for working with multidimensional values, which allows for the implementation of complex operations, including construction. This innovation in programming opens up opportunities for developers seeking more efficient solutions to computing and data processing problems. Alpha can become a useful tool for implementing complex algorithms and models, making it an important step in the development of programming languages. Working with the Alpha language required a translator capable of running programs on the M-20 computer, which became the primary computing tool in the USSR in 1959. The creation of this translator is described in Ershov's three-part trilogy: "The Birth of the Alpha Translator," "The Childhood of the Alpha Translator," and "The Adolescence of the Alpha Translator." These books provide a detailed description of the compiler development process, including technical challenges and solutions, making them an important source of information for researchers and computer scientists.

M-20 Computer Photo: A.P. Ershov Institute of Informatics Systems SB RAS

The Alpha translator is the world's first optimizing translator for languages ​​in the Algol family. It implemented advanced algorithms, including a multi-pass translation system and optimization methods that significantly increased memory efficiency. These innovations allow developers to create more productive and resource-intensive applications, making the Alpha translator an important tool in the field of code compilation and optimization.

The success of the Alpha system inspired Ershov to develop Alpha-6, an improved version with a compact translation scheme. The internal Alpha-6 language formed the basis for optimization algorithms and transformations, which significantly increased the system's efficiency.

Andrei Petrovich continued to develop his ideas, which became the basis for the creation of a new generation of algorithmic languages, known as Beta. These languages ​​offer new possibilities for programming and ensure greater development efficiency. Beta was a major step in the evolution of algorithmic languages, opening new horizons for programmers and computer science researchers.

The Beta language incorporates concepts borrowed from well-known programming languages ​​such as Pascal, C, Ada, and Modula-2. A key feature of Beta is its "internal language," which ensures compatibility with various language processors, including translators and parsers. This makes Beta a universal tool for software development, simplifying the process of creating and analyzing code.

The process of forming Beta's internal language resembled the interactions between people speaking different languages. This process developed in stages, beginning with simple gestures and sounds, which over time transformed into more complex structures. Each stage involved adaptation, learning, and information exchange, which contributed to the creation of a unique language that reflects the needs and characteristics of Beta. It is important to note that this process was not only the result of evolution, but also of active interaction with the environment, which made it dynamic and multifaceted.

  • First, a search for common concepts and constructs for all languages ​​was conducted, which made it possible to define a unified semantic basis.
  • This basis was then optimized and transformed, resulting in the generation of object code for various computers.

Beta's internal language demonstrated its effectiveness for stream analysis algorithms and optimizing compilers. The machine-oriented approach ensured high flexibility in code generation, adapting to various architectures, including the BESM-6 and SM computers. This has significantly improved program performance and simplified the development process, making Beta's internal language an important tool in programming and code optimization.

SM EVM Photo: Virtual Computer Museum

From the Concept of the Lexicon to AISTs: Ershov's Contribution to Computer Science

Andrei Petrovich Ershov, a prominent computer scientist, proposed an innovative concept that has the potential to become the basis for a new programming language. While analyzing existing systems such as Alpha and Beta, he began to consider creating a universal environment for developing and validating software. His ideas could significantly improve the programming process, making it more accessible and efficient for developers.

The idea behind the Programming Lexicon is to develop a unified linguistic system. This system provides the ability to express all the basic constructs necessary for formulating problems and synthesizing software. A programming lexicon facilitates communication between developers, allowing for more precise and understandable descriptions of algorithms and processes. Ershov described the Lexicon as a "linguistic system with a phrase structure that includes a formal notation for expressing all commonly accepted constructs." This system is designed to simplify interactions between humans and machines, allowing developers to focus on solving problems rather than writing code. The Lexicon serves as an important programming tool, ensuring efficiency and productivity in software development. A key advantage of the Lexicon is the lack of translation into machine code, which distinguishes it from traditional programming languages. This system allows any program to be expressed, ensuring its openness and accessibility to other developers. Thanks to this, the Lexicon becomes a universal tool for creating software, simplifying the development process and increasing compatibility between projects.

The idea of ​​the Lexicon, despite remaining at the conceptual stage, had a significant influence on further research in the field of programming and systems analysis. It set the direction for many scientists and developers, inspiring them to create new methods and approaches in these areas for decades. This concept became the basis for many innovative projects and research, which emphasizes its importance in the history of technological development.

Andrei Petrovich emphasized the important role of programmers in modern society, calling them "priests-mediators between machines and humanity." This emphasizes the significance of their work in the creation and support of technologies that are becoming an integral part of our lives. Programmers not only develop software, but also shape the future, ensuring interaction between people and machines.

Ershov's contribution to the development of automatic information stations (AISTs) is of great importance for the development of computing technology. These distributed systems enabled computers to execute multiple processes in parallel, significantly increasing their productivity and efficiency. AISTs were a major step forward in optimizing computing systems and made it possible to tackle more complex computing tasks.

During the development of AIST systems, Ershov implemented the results of his research in computing system architecture, software, and modeling. He created the country's first time-sharing system, called AIST-0, and successfully demonstrated it on a complex consisting of several computers. This system was a key step in the development of multitasking computing and had a significant impact on further research in computing and programming.

The ideas implemented in AISTs remain relevant today. They cover various aspects, including innovative technologies, process optimization, and improved user interaction. These concepts continue to inspire new developments and contribute to the development of effective solutions in modern conditions. The implementation of such ideas allows us to adapt to changes and maintain competitiveness.

  • separation of control and data processing functions in the complex's processors;
  • hierarchical software design;
  • isolation of the operating system kernel;
  • integration of various modes of interaction and information processing.

The development of AISTs was suspended, as foreign systems demonstrated greater efficiency. Nevertheless, Ershov's contribution to computer science remains significant and continues to inspire new generations of researchers. His work became the basis for further advances in artificial intelligence and algorithmization, which emphasizes the importance of his contribution to modern science.

Andrey Petrovich Ershov: Contribution to Education and Conferences

Since the early 1970s, Andrey Petrovich Ershov has been actively developing educational initiatives in the field of computer science, creating an informal group of researchers. This team developed curricula for universities and schools, laying the foundations for modern computer science education. Ershov also coined the term "computer science," which subsequently became widely recognized in scientific and educational circles. Thus, his contribution to the development of computer science and educational standards cannot be overestimated.

Ershov with students Photo: Wikimedia Commons

In parallel with While teaching, Ershov actively participated in scientific conferences at both the Soviet and international levels. In 1981, he presented a paper, "Programming—the Second Literacy," at a joint conference of the International Federation for Information Processing (IFIP) and UNESCO, dedicated to the use of computers in educational processes. This slogan quickly gained popularity and soon appeared on Soviet posters, emphasizing the importance of programming as a key skill in the modern world. Ershov was one of the first to emphasize the need to integrate information technology into educational programs, which had a significant impact on the development of computer literacy in Russia.

An experiment in teaching programming at universities will soon begin in Novosibirsk. This experiment will serve as the basis for integrating computer science into school curricula. As part of this project, scientists have developed the Agat computer, the Shkolnitsa educational system, and the Rapira programming language. These innovations are aimed at improving the quality of education and preparing students for the modern demands of the digital world. Introducing programming into the school curriculum will help develop logical thinking and problem-solving skills in young people, which is an important aspect of their future professional activity.

Computer "Agat" Photo: Wikimedia Commons

In 1985, Ershov and his team published the first school textbook, Fundamentals of Computer Science and Computer Engineering. This textbook used the Russian Algorithmic Language, nicknamed "Ershol" due to its similarity to Algol, to describe algorithms. This textbook became an important step in the teaching of computer science and computing in Russian schools, promoting the development of interest in programming and algorithmic thinking among students.

Ershov actively participated in six congresses of the International Federation for Information Processes (IFIP), where he served as a speaker and organizer. In 1987, he was elected Chairman of the Scientific Council of the USSR Academy of Sciences on cybernetics. He also made a significant contribution to the creation of the journal Microprocessor Tools and Systems, which became an important platform for publishing research in the field of microprocessor technology and systems. Ershov left a significant mark on the development of cybernetics and information technology in Russia and abroad.

Ershov received the Academician A. N. Krylov Prize for his significant contribution to the development of the theory of mixed computing. This award recognizes his outstanding achievements in science and education, as well as his influence on the development of modern computing technologies.

Read also:

Refal, El, and Rapira are Soviet programming languages ​​that once occupied an important place in the world of computing. However, with the collapse of the Soviet Union and the transition to international programming standards, their popularity declined significantly. The reasons for the disappearance of these languages ​​are varied. Firstly, they did not gain wide recognition outside the USSR, which limited their use in international projects. Secondly, with the development of technology and the emergence of new languages ​​such as Python, Java, and C++, older languages ​​have lost their relevance.

Modern developers prefer to use more universal and flexible tools that meet the requirements of the current time. Nevertheless, studying Refal, El, and Rapira can be useful for understanding the history of programming and the evolution of languages. Their contribution to the development of computing technology cannot be underestimated, and they remain an interesting page in the history of programming.

Creativity as a Source of Inspiration

Professor Ershov was not only an outstanding scientist, but also a multifaceted personality, demonstrating his talents in music, poetry, and literary translation. His mastery of the guitar and vocal abilities harmoniously combined with his literary talent, which allowed him to translate the works of such famous authors as Rudyard Kipling into Russian. Ershov left a significant mark on cultural life; his works enriched Russian literature and expanded the horizons of perception of classical works.

Ershov remained in the memory of colleagues and students for his vivid and memorable statements. One of his most famous statements is: "Siberia saves Russian literature, just as Siberian divisions saved Moscow in 1941." These words reflect his deep connection to Russian culture and history, emphasizing Siberia's importance in shaping the country's literary heritage. Ershov became a symbol of strength and resilience, embodying not only literary traditions but also Russia's historical memory. Ershov possessed an exceptional sense of language, which was evident even in his scholarly works. His poetry, like other works, confirms Lev Feuchtwanger's idea that a talented person is capable of achieving success in various fields. Ershov not only created literary masterpieces but also made significant contributions to science, demonstrating the versatility of his talent and skill. His work continues to inspire and attract the attention of researchers, emphasizing the importance of a cross-disciplinary approach in creativity.

In the poem "Ignorance," the author masterfully expresses his profound reflections on life's trials and the search for meaning. In particular, the lines describing Jesus carrying his cross reflect a powerful internal conflict and resilience. The image of Christ, prepared for suffering, emphasizes his divine origin and confidence in ultimate salvation. These lines evoke powerful emotions and make one reflect on the role of faith and devotion in overcoming difficulties. The poem becomes a profound reflection on the human experience, the courage needed to face trials, and the hope for higher justice.

Ershov's poems are profound and penetrate the essence of human existence. In one of his reflections, he notes the importance of knowledge and spiritual enrichment:

«I sought knowledge in hidden corners,
So that a person would live not only by bread.
But I myself do not know, bearing my heavy cross:
Will they crucify me or ascend to heaven?..»

These lines emphasize the desire for understanding life and inner development, while the outside world often distracts us from true values. Ershov raises questions about fate and purpose, forcing the reader to consider their place in this world.

Also study:

  • From a supercomputer to the Soviet Internet: four startups of Professor Kitov
  • This is a classic, you need to know it: DRY, KISS, SOLID, YAGNI and other useful abbreviations
  • A guide to cybersecurity for developers and novice specialists

Python Developer: 3 Projects for a Successful Career

Want to become a Python developer? Find out how easy it is to master the profession and get support from experts!

Learn more