Andrei Petrovich Ershov
Wladyslaw M. Turski
Institute of Informatics
Warsaw University, Poland
Born 1931 in the Soviet Union. Died December 8, 1988. Internationalist and humanist, he was a true scholar in the field of computation science, and the first and foremost computation science academician in the entire USSR Academy of Sciences.
Education: Diplomat of the Moscow State University, 1954.
Professional career: Started as a classical mathematician, learned programming from A.A. Lyapunov. Left Moscow in 1961 to collaborate for more than a decade with Lyapunov in the Science City near Novosibirsk in Siberia. Joined the Computing Center of the Siberian branch of the Soviet Academy of Sciences, where he became head of the Software Division. Created ALPHA, an optimizing compiler for an Algol-like language; BETA, a huge multilanguage environment; AIST-O, a multi access operating system; and MRAMOR, a desktop publishing system for Pravda. Finally elected chairman of the Scientific Committee on Cybernetics of the Soviet Academy of Sciences. He published prolifically in Russian, and many of his major papers have been published in English, starting in 1958.
He was a keen supporter of international scientific exchanges and cooperation, a tireless champion of school informatics, and an active opponent of computer illiteracy.
Born in 1931, in the autumn of 1949 he enrolled in the Physico-Technical Department of Lomonosov University in Moscow. Incidentally, "enrolled" is far too bland a verb. To register as a student in this very prestigious department, one had to pass a three-stage entrance examination, designed and implemented to select the brightest and most gifted applicants. Years later, Ershov was known to comment that, more than a keen interest in nuclear physics, it was the challenge of these incredibly tough examinations which made him apply. Soon, however, fate, in the particularly unattractive guise of Stalinist paranoia, intervened. The department was to become an extra-university Institute of Physics and Technology, whose students were to be not only very talented, but also totally reliable. In those days, someone like Ershov, who as a child had lived in Soviet territories overrun by Germany in World War II and thus briefly under Nazi occupation, could not be considered entirely reliable. In 1950 Ershov was transferred to the Mathematics Department at the university, where the maverick mathematician S. Sobolev was setting up a new chair of computational mathematics, to which Ershov was attracted.
Sobolev, who worked also for the Institute of Atomic Energy, was involved in the design of the first Soviet electronic computers, but most of his work was at that time classified and little of it was known in the much freer university environment. Computational mathematics was still primarily about numeric schemata, mathematical tables, and clanking electromechanical adding machines. Things had changed a little when in 1952 a young professor, A. A. Lyapunov, joined Sobolev's group and started teaching the fundamentals of programming for automatic computers. To Ershov, with his penchant for intellectual challenges, Lyapunov's brand of programming, full of forbidding symbols and tortured conventions, must have appeared a paradise. A close collaboration between Lyapunov and Ershov lasted for more than a decade and survived their migration to the Science City in Siberia (in the vicinity of Novosibirsk), where their paths eventually diverged: Lyapunov established a chair in the university: Ershov chose to work in the Computing Center of the Siberian branch of the Soviet Academy of Sciences, led by a brilliant numerical analyst G. I. Marchuk (a future deputy prime minister of the USSR and the president of the Soviet Academy). In the Computing Center, Ershov was the head of the Software Division.
Another important source of early inputs to Ershov's computing education and development was S. Lebedev's design of "civilian" computers – first in Kiev, where he was frequently visited by Lyapunov, then in the specially established Institute for Computing Machines in Moscow. It was for Lebedyev's machines, BESM and STRELA, that toward the end of the 1950s Ershov started developing his "programming program" – as language/compiler combinations were then known in Soviet terminology.
Ershov graduated in 1954 with a diploma from the Lomonosov University (the class of 1954 was the very first crop of Soviet university-educated programmers), and until 1960 he continued his research in Moscow. In 1958 he was sent to England to attend the Teddington Conference on the Mechanization of Thought Processes. It was his first trip abroad. It was there that he met another newcomer on the international computing scene, John McCarthy – a meeting that some years later developed into friendship and collaboration almost unthinkable in the Cold War. To generations born after Gary Powers' U-2 plane was shot down over the Russian heartland, it may seem quite commonplace that McCarthy visited Ershov in Novosibirsk in 1965; in fact, he was the first Westerner to be allowed to visit. Three years later McCarthy spent two months there, teaching and interacting with students and faculty. Ershov, however, was not allowed to accept a return invitation to spend a semester at Stanford University.
Even though Ershov traveled to the West quite often and struck up friendships with many eminent scientists, almost to the end of his days he had to apply for a Soviet exit visa for each trip, and never could be quite sure that one would be granted. He was never allowed to take up a visiting position at a foreign university. His trips abroad were always short and thus incredibly packed with talks, seminars, conversations, and that greedy sight-seeing, special to people who never know if this isn't their last chance.
Ershov keenly supported international scientific exchanges and cooperation. He was very active in various IFIP committees and conferences, served as an editor of the international journals Acta Informatica and Information Processing Letters, and organized numerous international conferences in Novosibirsk and other regions of the Soviet Union. Acting as an adviser to several Soviet publishing houses, Ershov initiated (and often edited) a large number of Russian translations of important Western books on computing. Establishing and developing personal and professional links between foreign computer scientists and their Soviet colleagues was a goal to which Ershov devoted a good deal of his enviable energy.
In his homeland, Ershov established his reputation as a leading software expert with two major compiler projects: ALPHA and BETA. ALPHA was an optimizing compiler for an Algol-like language. (Its final version, ALPHA-6, is still being used). BETA is a multilanguage environment of Gargantuan scope and surprisingly elegant internal design. Ershov was also very active in the design of a multi-access operating system AIST-0, and in a host of other practical programming projects, including a very comprehensive desktop publishing system MRAMOR, commissioned by the largest Soviet daily newspaper, Pravda.
Ershov was also a prolific research scientist, whose interests ranged from artificial intelligence to mixed computing (partial evaluation and transformational programming); for the latter he gained truly international recognition. His pioneering work on minimal-memory compilation and on programming theory (Yanov–Ershov schemata) is somewhat less well known in the Western countries but equally important and highly regarded by the experts. In 1985 he launched a novel approach to program semantics, according to which the fundamental notions of a program would be defined by a program lexicon, a growing, structured collection of nontrivial facts about the program domain (objects), expressed in a formal notation.
Ershov was a recognized leader in the field of computer programming in the Soviet Union. He was the first programmer to receive the coveted Krylov prize in mathematics, a corresponding member of the Soviet Academy of Sciences since 1970, and a full member since 1980. Ershov was finally elected the chairman of the Academy of Sciences Scientific Committee on Cybernetics – the supreme Soviet authority on computing. He used his influential positions well.
Back in 1972, Professor F.L. Bauer of Munich wrote Andrei und das Untier, a children's introduction to computers, charmingly illustrated with graffiti-like drawings based on original sketches by Ershov's son, Vassily. The choice of the first name of the book's main character and the setting of the story in a town "half way between Tomsk and Omsk", two Siberian cities, proved to be prophetic.
Fully aware of the social consequences of the ability to use computers and of the cultural importance of programming (he called it "the second literacy"), Ershov was a tireless champion of school informatics – the introduction of computers and information processing into pre-university education. He himself wrote (and coauthored) school curricula and textbooks, sponsored computer holiday camps for children, hosted an educational TV series on information processing, begged for computers for schools, lectured on the dangers of computer illiteracy to the public and to the government of his country, and carried his crusade to an apparently successful meeting with the then Soviet president, Gorbachev.
Ershov fully appreciated the liberating power of a personal computer. His passionate pursuit of school computing embraced a dual purpose: to enrich young people with the intellectual gift of programming and to put the power of information processing at their disposal. To see his campaign for school informatics in a proper perspective, one should remember that it was initiated in a country where access to ordinary copying machines was severely restricted and strictly controlled.
Ershov's views on programming, expressed in a series of essays started in 1972 by an article entitled "Aesthetic and Human Factors in Programming", attracted worldwide attention. Describing the profession, he wrote,
A programmer has to have the ability of a first-class mathematician for abstraction and logical thinking combined with an Edisonian talent for making anything in the world from a zero and unity. He must combine the accuracy of a bank clerk with the foresight of a scout, the imagination of a writer of detective stories with the sober practicality of a businessman, and. in addition to all this, he has to have a taste for teamwork, be loyal to its organizer, and possess many other qualities. Since a program-equipped machine behaves rationally and the programmer is the first to notice it, then, to use the idea of trinity, at this moment he feels like the father – the creator of the program, the son – the spiritual brother of the machine, and the bearer of the holy spirit – the intellect put into it.
As a typical member of the Russian intelligentsia, Ershov was the very opposite of a technocrat. He was a book lover, reading voraciously in his native Russian and in English; he could quote at length from Pushkin and Shakespeare, Evtushenko and Kipling. At the age of 50, Ershov turned to active poetry: first as a translator of English poems into Russian, then as an author. His poems – of classical form and rich in ornamental detail – are disturbingly intimate in their concentration on inner disquietudes and anxieties of a scientist's creative mind: "From hidden places, I obtained knowledge for people not to live by bread alone, and bear my cross without knowing if I shall be merely crucified or also sent to heaven", and "Which Is the better: to ask myself a million questions, or to answer a single one asked by another man?" are two (roughly translated) samples from Ershov's poems.
In the last years of his life, Ershov was fighting unwinnable battle against a terminal cancer. Scientifically and politically active to the end, Andrei Petrovich Ershov died on December 8, 1988. East and West, many miss him.
Many major papers and monographs by A.P. Ershov have been published in English. The following list contains some which illustrate the points made in the text (the publications are either Ershov's or coauthored by him).
"On Programming of Arithmetic Operations" , Comm. ACM, Vol. l., No.8, 1958, pp. 3–6.
Input Language for Automatic Programming Systems , Academic Press, New York. 1963.
"ALPHA – An Automatic Programming System of High Efficiency" , Proc. IF1P Congress, Vol. 2, 1965, pp. 622–623. and J. ACM. Vol. 13, 1966, pp. 17–24.
"An Experimental Automatic Information Station AIST-0" , Proc. Spring Joint Computer Conf, 1967, pp. 577–582.
"Theory of Program Schemata" , Proc IFIP Congress, 1971, pp. 144–163.
"Aesthetic and Human Factors in Programming" , Comm. ACM, Vol. 15. 1972, pp. 501–505.
"A History of Computing in the USSR" , Datamation, Vol. 21. No. 9, 1975, pp. 80–88.
"Axiomatics for Memory Allocation" , Acta Informatika. Vol. 6, 1976, pp 61–75.
"An Implementation-Oriented Method for Describing Algorithmic Languages" , Proc. IFIP Congress, 1977, pp. 117–122.
"On the Partial Computation Principle" , Information Processing Letters. Vol 6, 1977, pp. 38–41.
"Mixed Computation in the Class of Recursive Program Schemata" , Acta Cybernetica, Vol. 4, 1978, pp. 19–23.