Vladislav L. Katkov

How, when, and why have you joined the Programming Department?: 

In the summer of 1959, I graduated from the Moscow State University and got the assignment to a P.O. Box organization in Zlatoust, whereas my wife, a microbiologist, was assigned to the Siberian Branch of the Academy of Sciences. It took me a great effort to secure my re-assignment to Novosibirsk Institute of Mathematics, where a computing center was being formed at that time.

What was your first impression of Andrei Ershov and other colleagues?: 

I first met Andrei Petrovich in Moscow, at Steklov Mathematical Institute. I was greeted by a bespectacled young man, not much older then myself. What caught my eye were his high forehead and the air of purposefulness he radiated like a man who had been busy with some arduous and interesting work, and had not yet switched to worldly routine. After a short talk the matter of including me in the staff of the Programming Department had been settled, and a week later I was already in Novosibirsk.

What can you tell about your work at the PD? In what projects you participated? What research fields did you work on? Who was your first direct supervisor?: 

My first work assignment was to develop a standard program for computation of the gamma function on M-20 computer. At the same time I met Igor Pottosin, who in his mild and friendly manner directed my efforts in algorithm design and program debugging. It was he who made me understand that "the user is king", i.e. a program must always produce some result, even in the case of incorrectly defined function argument, or infinitely large resulting value.

Ershov’s move to Novosibirsk livened up the programming life in Akademgorodok. At that time I was dealing with meteorology problems and taking great trouble over development and debugging of large programs that we still wrote in M-20 machine code wringing out maximum performance and saving main memory in every way.

At the same time the Programming Department was launching the Alpha compiler project, and Andrei Petrovich gave several lectures on the Alpha languages and the methods of programming to prospective users. I was strongly impressed by the lectures’ brilliance, and by the rigor and elegance of the Backus-Naur formalism used for language specification. In the evenings I used to drop in at Ershovs’ home (we lived door to door); I asked him about the language, the compiler, program debugging, etc., and discussed implementation methods for meteorological application programs. Sometimes we sat into the wee hours talking.

In the "Age of Alpha Compiler" (1960 – 1964) I got to know Igor Pottosin and Gena Kozhukhin well. I was interested in various implementation details of compilation algorithms and, of course, in finding bugs in my programs or in the compiler code. It was later shown by statistics that my programs were the source that helped to detect approximately 30% of compiler bugs and to remove or lighten some restrictions on internal parameters: table and array sizes, stack depth, variable indexing, etc.

I have a lasting impression of the work on the Epsilon machine language and compiler for M-220 computer. It was after the completion of the Alpha project, and the developers were still high on its success. Gena Kozhukhin once mentioned that the technical approach to Alpha compiler development had been wrong: they should devise and implement a machine language (like Epsilon) first, and then write the Alpha compiler in this language. At first we were skeptical and argued that such technology would have only dragged out the Alpha compiler development.

However, the thought about a machine language have found lodgment in the minds, and in 1966 a spearhead consisting of I.V. Pottosin, B.A. Zagatsky, and M.M. Bezhanova proceeded to the development of the language and its compiler. Later the group was joined by me and A.F. Rar. Preliminary decisions on the language were discussed and stated with the assistance of Ershov and Kozhukhin.

First we have decided on the language’s name; there have been many funny suggestions, but we settled on A.F. Rar’s variant – Epsilon. The group met several times a week and discussed the language constructs and their compilation, the resulting executable code, and so on. The ALPHA implementation experience had a strong influence on the choice of the main language constructs. The atmosphere of these discussions was always lively and business-like.

Early in 1967 Pottosin, Rar and Katkov started the development of an Epsilon compiler for M-220 computer. In the course of the project the language specification has been finalized. B.A. Zagatsky participated in the project on its initial stage. The system was ready by May of 1967, and in the autumn of 1967 the beta testing started.

Mentally backtracking, I saw that Kozhukhin’s idea of first developing a machine language proved to be right: the language made a simple and effective tool for the development of large symbol-processing programs, such as analytical calculation, operating systems creation, text processing, automatic control applications, and so on. It became apparent during 1968 – 1969, when the system was put into operation at several organizations.

I remember one session of the Computing Center scientific council where Ershov put on the table a thin stack of punch cards and simply said: "Let me present the Epsilon language compiler developed at the programming Department". Everyone expected the "compiler" to be of monstrous size, and instead here was the "infinitesimal" Epsilon (Alpha compiler size has been around 45,000 machine words).

Soon the Epsilon system was ported to BESM-6 and Minsk computers.

Who of your colleagues most influenced your professional growth?: 

I think it were Ershov and Pottosin.

Can you name the PD visitors who you remember the most?: 

There were always many interesting visitors at the Computing Center in general and at the Programming Department in particular. I remember meeting and listening to E.W. Dijkstra, C.A.R. Hoare, John McCarthy, S.S. Lavrov… I was also impressed by the talk given by researches from the Moscow Institute of Applied Mathematics on programming the moon robot (Lunokhod) movements that was accompanied by computer video film.

What, in your opinion, are the most significant scientific and practical results obtained at the Programming Department?: 

Creation of the ALPHA compiler

Can you remember the most joyous day at the Department?: 

I remember a funny present I got from Ershov for my 33rd birthday: he gave me a bottle of 3-star Armenian brandy; on its label 30 more stars were neatly painted in addition to the original three.

…And the saddest one?: 

The saddest are the days of G.I. Kozhukhin’s and A.P. Ershov’s funerals.

What is your current occupation?: 

Now I am a pensioner and a chief research fellow at the Joint Institute of Informatics Problems of Belarusian Academy of Sciences; I also read lectures on informatics at the Command–Engineering Institute of Belarusian Emergency Control Ministry.

With whom of your colleagues at PD are you still connected professionally, or simply on friendly terms?: 

I kept in touch and was on friendly terms with Igor Pottosin when he was still alive.

What did you dream of? Did any of the dreams come true?: 

There were different dreams at different times. At the end of the last century I wished I had a personal desktop computer with BESM-6 capability. The dream came true, and a powerful PC became, to many, a customary household item like a toothbrush, a pen, a notebook, an organizer, etc.

I was quite amazed by the "Internet effect", how it made people instantly closer and much more accessible, provided a virtually inexhaustible source of all kind of information, and changed people’s lifestyle.

Have you changed your view on programming since or during your days at the PD?: 

Yes, I did. As recently as 50 years ago we were bothering about with machine code and punch cards, uneventful period of computer operation averaged to 10-15 minutes, and, having access to the computer only once a twice a day, we had to make titanic efforts to solve problems in those days.
These days, the situation radically changed owing to the use of reliable and powerful hardware and software tools. The situation is not unlike that when an ape stood on two legs and became a man.

© 2008-2022 IIS SB RAS