Из истории информатики в Санкт-Петербургском университете
Мартыненко Б.К.
Аннотация. Воспоминания о романтическом периоде программирования в СССР во второй половине 20 в., основанные на собственной памяти автора и информации, полученной от А.Н. Балуева, С.С. Лаврова, И.В. Романовского и Г.С. Цейтина . Добавлены некоторые детали из школьного периода жизни автора и быта студентов того времени.
“Tempera mutantur et nos
mutamur in illis”.
– Времена меняются,
и мы меняемся вместе с ними.
Франкский император Лотар I (IX в.н.э.)
Предисловие. Для поколения, заканчивающих школу 10 лет спустя после войны, которому принадлежит и пишущий эти строчки, это время априори (мы были молоды и устремлены в науку) и апостериори (ведь нам уже больше 70) было по-настоящему счастливым благодаря возможности учиться у известных учёных и общаться с ними. Ныне, когда происходят катастрофические изменения школьного образования, интересно сравнить его с тем, каким оно было сразу после войны.
1 сентября 1945 г. я поступил в начальную (4-х летную) школу. Обучение бесплатное, совместное для мальчиков и девочек. Кроме русского языка и родной речи было чистописание в тетрадках в три линейки. Писать приходилось ручками со стальными перьями №86, представляющими усовершенствованные гусиные перья, которые опускались в чернильницу-непроливашку с фиолетовыми чернилами. Не разлить чернила и не наделать клякс в тетради порой составляло непосильную задачу для первоклассников.
Следующая ступень, 5–7 классы, завершала бесплатное обязательное среднее образование, после чего открывались два пути для продолжения образования: в техникум или в 8-10 класс[1]. Мой старший брат в годы войны, когда отец был на фронте, а мать умерла, и я был на его попечении, пошёл в электротехнический техникум, где платили стипендию. А я, уже после Победы, в 8-й класс. Эта ступень была платной, впрочем, плата была символической, и через год отменена вовсе. Я окончил среднюю школу № 37 г. Омска в 1955 г. Это была мужская школа с весьма заметным числом учителей-мужчин. Математику (алгебру, геометрию и тригонометрию) вёл Николай Иванович Тихомиров, который любил свой предмет, и сумел привить интерес к математике многим ученикам. Он руководил школьным хором, и был не прочь погонять футбол на улице с ребятами.
Запомнился на всю жизнь и учитель географии Владимир Сергеевич Лагунов, проводивший свой урок в форме лекции, он научил нас писать конспекты, что потом пригодилось в студенческие годы. В летние каникулы он организовывал походы по родному краю, пешие или на лодках. Он был секретарём школьной партийной организации, и мы иногда приходили к нему за советом на чердак, где у него была оранжерея.
Надо сказать, что не школьные товарищи, а ребята нашего двора, которых было много, составляли основной круг общения. У многих было какое-то увлечение, или даже несколько. Я с моим закадычным другом[2] занимался в авиамодельном кружке при Омском аэроклубе и участвовал соревнованиях, и небезуспешно. Там я узнал устройство моделей разных типов, научился их конструировать, производить необходимые расчёты, узнал, что существуют разнообразные профили нервюр крыла, и почему возникает подъёмная сила, какие породы дерева применяются в конструкции, и научился изготовлять детали. В студенческие годы эти знания возвысили мой авторитет, и я был выбран старостой планёрного кружка. ДОСОАФ помог нам приобрести свой планёр БРО-11, на котором мы учились летать на аэродроме в Озерках под Ленинградом [2].
Примерно с 7 класса я заинтересовался астрономией. То ли под влиянием прочитанных книг – первая среди них “Занимательная астрономия” А. Я. Перельмана, то ли сам вид звёздного неба с планетами, Луной и Солнцем, заворожил меня. Я сделал из очковых стёкол телескоп-рефрактор, применив для изготовления трубы мой авиамодельный опыт, и стал по ночам наблюдать Луну, Юпитер с четырьмя галилеевыми спутниками[3] изящный Сатурн с его кольцом, и пр. В конце концов, я даже осмелился предложить свои услуги Астросовету в качестве наблюдателя переменных звёзд.
Ясно, после школы для меня вопроса не было, чем заняться дальше. Проблема была только в том, какой университет выбрать. Отец уговаривал меня поступать какой-нибудь институт[4] в родном городе. Выбор был широк: от медицинского и педагогического до сельскохозяйственного, автодорожного и машиностроительного. Но я не согласился. Ближайший университет был в Томске, но накануне астрономическое отделение в нём было закрыто. Ехать в Москву, где в 1953 г. на Ленинских горах открылось новое здание МГУ, было страшновато. Оставался только Ленинград, куда я и послал документы. Предстояло сдавать два экзамена по математике письменно и устно: серебряная медаль освобождала от других экзаменов, которых было не мало. Золотые медалисты не держали вообще никаких экзаменов, но проходили собеседование, и бывало, что они “проваливались”, и в этом случае можно было сдавать экзамены на общих основаниях[5].
Я получил 9 баллов, и был зачислен на математико-механический факультет. Правда, в группу астрономов я не попал: зам. декана убедил не настаивать на этом, доводом, что после окончания университета мне светит преподавать астрономию и физику в школе, а не работа в обсерватории. В качества утешения он добавил, что имею право посещать любые лекции, если без астрономии жить не смогу. Сошлись на том, что я буду изучать теоретическую механику. Так как в общежитии мне было отказано, то я снял “угол”[6], как многие иногородние студенты. Перед началом занятий я зашёл на факультет, чтобы узнать расписание, и был удивлён, не найдя свою фамилию среди механиков, но обнаружил две группы вычислителей, о которых в справочнике для поступающих в ВУЗы ничего не говорилось[7]. В 11-й группе стояла моя фамилия. Опуская мои переживания по поводу этого открытия, апостериори могу сказать, что судьба подарила специальность, более универсальную, чем астрономия, к которой я так стремился, и которая, в конце концов, от меня никуда не делась[8].
Ленинградский университет возглавлял (апреля 1952 г. – октябрь 1964 г.) ректор А.Д. Александров, математик и физик с мировым именем, философ и альпинист, любимый студентами. По его идее, чуть позже, был построен учебно-научный комплекс университета с естественнонаучными факультетами. История информатики в Ленинградском (ЛГУ) – Санкт-Петербургском (СПбГУ) университете связана, прежде всего, с именами Андрея Андреевича Маркова (9(22).9.1903, Петербург – 11.10.1979, Москва) и Леонида Витальевича Канторовича (6(19).1.1912, Петербург – 7.4.1986, Москва), его выпускников 1924 г. и 1930 г. соответственно. Первое имя олицетворяет математическую логику и теорию алгоритмов, второе – программирование и математическое программирование. Факты их биографий легко найти энциклопедиях. Скажу лишь, что кафедру вычислительной математики я окончил 1960 г. Л.В. Канторович, заведующий этой кафедрой с 1958 г., и читавший студентам – вычислителям курс функционального анализа, напутствовал нас на выпускном банкете. Сам он в этом же году уехал в Новосибирск, где создал и возглавил Математико-экономическое отделение Института математики СО АН СССР и кафедру вычислительной математики Новосибирского университета. У А.А. Маркова я не учился, но факт его биографии, что он окончил аспирантуру в Астрономическом Институте[9] в 1928 г., где много позже аспирантуру заканчивал и я, меня весьма занимал.
Начало преподавания программирования на математико-механическом факультете было положено в 1953 году. “В то время первые отечественные ЭВМ “БЭСМ” и “Стрела” (первая – в Академии наук СССР, вторая – в Московском университете) были большим государственным секретом, и их марки произносились шепотом людьми, имеющими специальный допуск”. А. Н. Балуев. Л.В. Канторович разработал и прочёл для сотрудников ЛОМИ и аспирантов математико-механического факультета первый курс программирования для специально придуманной им абстрактной одноадресной машины[10], а с начала 1954/55 учебного года эти лекции стали основой специального курса по программированию, который начал читать доцент Александр Николаевич Балуев (17.08.1923 – 23.04.2008)[11] для студентов недавно открытой кафедры Вычислительной математики.
“В 50–60-е годы группа математиков ЛОМИ под руководством Л.В. Канторовича выполнила целый ряд исследовательских работ. Они были разнообразны. Здесь можно упомянуть развитие в “ПРОРАБ’ах” (производителях работ) идеи крупноблочного программирования, разработку К-языка и системы программирования на его базе. В этой группе уже в то время фактически началась эксплуатация идей интерпретаторов и производство математических выкладок на ЭВМ”. И. В. Романовский. До изобретения обратной польской формы при программировании выражений в компиляторах использовались “четверки”, предложенные Л. В. Канторовичем в статье [4].
Первую практику работы на реальной ЭВМ для восьми выпускников кафедры вычислительной математики удалось организовать в сентябре 1957 года на машине “Стрела” в Вычислительном центре МГУ. Имена выпускников первых лет хорошо известны на мат.-мех. факультете: И. Л. Братчиков, Даугавет И. К., Даугавет В. А., Даугавет О. К., Фитиалов С. Я. и др. Большинство из них стали первыми научными сотрудниками Вычислительного центра ЛГУ, а впоследствии преподавателями различных кафедр университета. Первую собственную ЭВМ “Урал-1” факультет получил в 1958 г. Её установкой и эксплуатацией занялись недавние выпускники физического факультета ЛГУ.
В сравнении с механическими арифмометрами[12], использовавшимися студентами в вычислительной практике, у неё было фантастическое быстродействие 50 − 100 операций в секунду. Первопроходцем в освоении этой первой реальной вычислительной машины в Ленинградском университете стал А. Н. Балуев.
Незадолго до этого в НИИММ[13] организуется Вторая проблемная лаборатория – будущий Вычислительный центр университета. Его организаторы – доценты кафедры вычислительной математики А.Н.Балуев и М.К.Гавурин[14] (16.11.1911 − 11.04.1992) опасались, что при такой вычислительной мощности все задачи будут решены за несколько недель, и машина скоро окажется в простое. Но научные расчёты и студенческие работы легко поглотили полезное время, которое можно было “выжать” из этой ламповой машины, учитывая, что примерно половина времени уходила на профилактические и ремонтные работы. Кроме того, много времени затрачивалось на отладку программ, потому что она проводилась непосредственно за пультом машины с двоичной индикацией на неоновых лампочках. Промежуточные результаты считывались побитно непосредственно с неоновых огней, отражающих содержимое сумматора или регистра арифметического устройства в двоичном коде с фиксированной запятой. В тёмное время суток машина напоминала новогоднюю ёлку, увешанную гирляндами с пробегающими по ним неоновыми огнями. Программу можно было исправлять с пульта, занося двоичные коды с клавиатуры. При этом все исправления приходилось записывать на бумаге с тем, чтобы впоследствии перенести их на зачернённую кинопленку в виде перфораций или заплат, вырезанных из черной бумажной упаковки из-под фотоматериалов. Только с такой плёнки, склеенной в кольцо, можно было вводить программу или исходные данные в машину. До сих пор помню, как сжималось сердце от страха, что лента разорвется на месте склейки, или отлетят заплаты, когда со страшным шелестением и свистом начинался ввод программы. Кроме того, такой носитель информации представлял большую опасность, т. к. воспламенялся как порох. И был случай, когда однажды … (но об этом лучше не вспоминать).
Надо сказать, что в те времена машины поставлялись “голыми”, т. е. вообще без кого-либо программного обеспечения и каких бы то ни было периферийных устройств[15]. Поэтому сразу же возникла задача написания библиотеки стандартных подпрограмм, включающей хотя бы простейшие математические функции и операции над вещественными числами – не было в арифметическом устройстве этой машины операций с плавающей запятой. Разработкой такой библиотеки занялись первые научные сотрудники Вычислительного центра И.Л. Братчиков, В.Н.Иголкин и С.Я.Фитиалов.
1957–58 г.г. ? время проведения Международного геофизического года (МГГ), в котором ожидался запуск искусственного спутника Земли (ИСЗ). В обсерватории ЛГУ была создана станция оптических наблюдений ИСЗ, и ещё до его запуска студенты, среди которых был и я, тренировались наблюдать огни самолёта, барражирующего над Финским заливом, и имитирующего прохождение спутника по звёздному небу.
На “Урале” я делал курсовые работы на 3–4 курсах — программу обработки фотонаблюдений, которая по рекомендации Астросовета АН СССР использовалась на станциях наблюдений ИСЗ [5]. В очерке [6] А. Г. Масевич, зам. председателя Астросовета, упомянула об этой работе.
В 60-е годы ВЦ ЛГУ оснащается новейшей по тем временам вычислительной техникой. Каждая такая машина требовала целого зала или большой комнаты для своего размещения. Поскольку факультет и ВЦ располагались в старом здании Высших женских (Бестужевских[16]) курсов (В.О. 10 линия 33), то приходилось ломать кирпичные стены, чтобы получить помещение нужной площади. В этом деле охотно участвовали студенты и программисты[17] ВЦ.
В деле оснащения ВЦ ЛГУ вычислительной техникой первого (ЭВМ М-20, ламповая, быстродействие 20 тыс. операций в сек.) и второго поколения (БЭСМ-3М, М-220, М-222 – все уже полупроводниковые) большая заслуга принадлежала Георгию Петровичу Самосюку[18] (1921 − 2003), директору ВЦ с 1961 г. и НИИММ с 1963 г. Университет получал новейшую отечественную вычислительную технику часто одновременно с теми предприятиями, у которых был приоритет.
С ЭВМ БЭСМ-3М связан курьезный случай, о котором в свое время писала одна из центральных газет в заметке “Гадкие утята”. “Гадкие утята” – это молодые инженеры одного крупного НИИ, которым было поручено испытывать полупроводниковые элементы будущей машины М-220, проектировавшейся солидным конструкторским коллективом. Дело не ладилось, и сроки выпуска затягивались. Молодые же инженеры за это время полулегально спроектировали и собрали на тех элементах, которые испытывали, свою собственную машину, получившую впоследствии название БЭСМ-3М. Конструкторы плановой машины, естественно, выступили с заявлением, что неплановое изделие не соответствует ГОСТу, является уродцем, не пригодным к серийному производству.
Борьба молодых новаторов со старыми консерваторами, как водилось в то время, вышла на страницы газет, и первые победили. В результате машина молодых инженеров была запущена в серию раньше плановой. Пока другие покупатели колебались, Г. П. Самосюк решительно выписал наряд на эту машину. Так ВЦ ЛГУ приобрел первую полупроводниковую машину.
В период освоения хозяйственно-договорных отношений в СССР Г. П. Самосюк наладил связи с большим числом предприятий, НИИ, научно-исследовательских институтов АН СССР, Вычислительными центрами. Это не только позволило значительно укрепить экономическое положение НИИММ и ВЦ ЛГУ (привлечь новые кадры, оплачивать поездки сотрудников на научные конференции, арендовать машинное время в других ВЦ, оплачивать командировочные расходы и т. д.), но и вовлечь научные коллективы в новые направления исследований.
Кстати, на счёт использования машинного времени в других ВЦ. В то время (60-е годы) первичными носителями информации были перфокарты (обычно, из Тукумса, латвийского городка). Они требовали определённых условий хранения в отношении температуры и, особенно, влажности. А ещё бы лучше было хранить их под прессом. Зачастую по прошествии времени перфокарты переставали вводиться читающим устройством из-за того, что металлические щётки смещались по отношению эталонному положению даже на своей машине, что же говорить о других ВЦ. Поэтому приходилось использовать репродукторы на новом месте и сравнивать копию с оригиналами перфокарт, частично визуально, прежде чем начинать счёт.
В 1960 г. в составе Вычислительного центра ЛГУ образуется лаборатория программирования, автоматизации программирования и программированного обучения, в которой под руководством А. Н. Балуева начинается один из первых в СССР проектов программирующей программы (так тогда назывались компиляторы) с входным языком, напоминающим ФОРТРАН. В работе над этим проектом принимали участие, как преподаватели кафедры вычислительной математики, так и её выпускники, научные сотрудники и инженеры вышеупомянутой лаборатории.
В [7] говорится, что “отход авторов от АЛГОЛа 60 вызван следующими причинами.
- Из-за отсутствия в настоящее время надежных устройств для буквенного ввода и вывода на ЭВМ М-20 приходится использовать для ввода стандартное клавишное устройство и для вывода – телетайп СТ-35. Небольшое количество символов, малая скорость печати, неэкономная кодировка (9 двоичных разрядов на один символ) заставляют экономить на обозначениях.
- Поскольку у авторов нет опыта работы в области программирования сложных алгоритмов, желание получить в сравнительно короткое время работающую программирующую программу и трудности, связанные со сравнительно небольшим объёмом памяти, вынуждают упросить функции программирующей программы, переложив тем самым часть труда на программиста. Поэтому алгоритм, записанный на предлагаемом входном языке, по своей структуре меньше отличается от машинной программы, чем тот же алгоритм, записанный на АЛГОЛе.
Отличия от АЛГОЛа сводятся в основном к следующему.
- Программа в целом представляет один блок. Отсутствуют описания типов, для каждого типа употребляется свой класс идентификаторов.
- Упрощены и стандартизованы операторы (в особенности операторы процедур) и описания процедур.
Предполагается, что машинная программа, представляющая перевод входного алгоритма на язык машины, целиком помещается в оперативном запоминающем устройстве”.
Глядя из 21 в. остаётся только позавидовать энтузиазму, с которым молодые коллективы брались за новые задачи, не имея достаточного опыта и технических условий.
В 1964 г. этот проект был завершён, но он не смог конкурировать с появившимися к тому времени отечественными трансляторами для международного языка программирования Алгол 60: ТА-1 (разработка научного коллектива С. С. Лаврова), ТА-2 (разработка Отдела прикладной математики МИАН под руководством М. Р. Шура-Бура и Э. З. Любимского, Москва) и, несколько позже, Альфа-транслятором (разработка группы А. П. Ершова (19.04.1931 − 8.12.1988), ВЦ СО АН СССР, Новосибирск), открывшими эру практического использования языков программирования высокого уровня в СССР.
Нельзя не отметить значение Ассоциации пользователей ЭВМ, Всесоюзных конференций по программированию (А. П. Ершов – СО АН СССР, С. С. Лавров, М. Р. Шура-Бура – Москва), Всесоюзных школ по программированию (А. Л. Фуксман – Ростовский ун-т, Г. С. Цейтин – ЛГУ), рабочих групп по языкам программирования и др.
Помниться, на конференции в Новосибирском университете, на которой совместно представляли все три вышеупомянутых компилятора, М. Р. Шура-Бура осторожно намекнул, что, возможно, в оптимизирующем АЛЬФА-компиляторе из циклов выносятся не только действия, не зависящие от параметров цикла, но ещё кое-что, чего выносить нельзя. Гена Кожухин[19] чуть не накинулся на неосторожного критика с кулаками, защищая своё детище. С. С. Лавров поспешил объявить перерыв, чтобы охладить страсти, сказав, что все представляемые компиляторы имеют достоинства, каждый в своём роде.
Хотя эти трансляторы оттеснили разработку ЛГУ, но приобретённый в этой работе опыт пригодился при освоении новых систем программирования в научных разработках и в учебном процессе.
От Алгола 60 к Алголу 68
Несколько следующих лет (до 1968 г.) лаборатория занималась освоением трансляторов ТА-1, ТА-2[20] и АЛЬФА. Благодаря этим трансляторам от машинного двоичного (восьмеричного) кодирования программирование в нашей стране шагнуло сразу к языкам программирования высокого уровня (Алгол 60), минуя этап использования автокодов, или, как это называется теперь, ассемблеров.
Лишь некоторое время спустя, появились ассемблеры, хотя символическое программирование (тогда это называлось программированием в условных адресах) использовалось с самого начала как вид предмашинной подготовки программ.
В этот период в лаборатории были написаны лексические блоки трансляторов ТА-1 и АЛЬФА, согласованные с местным входным оборудованием, организована служба прохождения программ в пакетном режиме, пополнялись библиотеки стандартных подпрограмм и алгоритмов[21], обслуживался производственный и учебный процесс, проводились консультации по языку Алгол 60 и системам программирования.
В конце 60-х из Министерства В и ССО СССР в университет поступил список мест научных стажировок за границей. А. Н. Балуев предложил мне составить план стажировки в Дании (у Петера Наура из Regnecentralen в Копенгагене) или Нидерландах (у А. ван Вейнгаардена из Математического центра в Амстердаме).
Был утверждён датский план, и по приказу ректора мне пришлось целый год по четыре дня в неделю заниматься на специальных курсах английского языка при ЛГУ. Был сдан экзамен по английскому языку в Московском институте иностранных языков. О прохождении идеологических комиссий разного уровня, включая собеседование в ЦК КПСС в Москве, вспоминать не хочется.
6 сентября 1967 г. я и ещё три стажёра из СССР вылетели в Копенгаген.
Я был представлен Нильсу Ивару Беку, техническому директору Regnecentralen (RC). Между прочим, он сказал, что знаком с академиком А. А. Дородницыным[22].
Моему научному руководителю Петеру Науру я сообщил, что закончил аспирантуру в ИТА и защитил кандидатскую диссертацию на тему: “Лунно-солнечные возмущения первого порядка в движении искусственных спутников”. Сообщил, что знаю о его посещение этого института, когда он занимался малыми планетами. Похвастался тем, что был первым, кто использовал язык программирования Алгол 60 в публикациях ИТА, предъявив в качестве доказательства три номера Бюллетеня ИТА со статьями по моей диссертации [3].
Кроме того, я сказал, что перед отъездом из Ленинграда я прочитал его статью [8] о компиляторе GIER Algol в переводе на русский язык. Я привёз сборник с этой статьёй, и он тут же повесил на информационной доске ксерокопию двух последних страниц, содержащих раздел “Благодарности” с перечислением участников проекта и список литературы. Очевидно, что он гордился тем, что их проект известен в СССР, да ещё по переводу, вышедшему всего два года спустя после публикации оригинала.
П. Наур предложил мне заняться проблемой “post mortem dump” (посмертной выдачи) в следующей версии системы GIER Algol 4, разрабатываемой группой математиков-программистов под его руководством. Предстояло изучить схему использования памяти во время исполнения программы пользователя и особенности входного языка компилятора при реализации предложенной темы в системе GIER Algol 4. Результаты были представлены в отчёте [9] и совместной публикации [10].
Надо сказать, что моё рабочее место располагалось в комнате, где участники проекта собирались на кофе или чай по нескольку раз в день. Общие разговоры шли на английском: во Вьетнаме шла война, и насколько молодых ребят из США и Канады нашли убежище в RC. Так что я был в курсе текущих событий и имел дополнительную практику в языке.
В это же время в RC я застал Чарли Саймони (Charles Simonyi)[23], беженца из ВНР. Он “подкалывал” меня знанием русского языка, произнося фразы с политическим подтекстом, вроде: “Великая Октябрьская Социалистическая Революция” ? был юбилейный год революции в России. Вскоре он уехал учиться Калифорнийский университет в Беркли и впоследствии сделал блестящую карьеру.
В 1968 г. после моего возвращения в СССР тематика лаборатории, где я работал, решительно переориентировалась на собственные разработки: в содружестве с лабораторией математической лингвистики и при участии преподавателей кафедры вычислительной математики, под научным руководством Г. С. Цейтина началось изучение первоначальных вариантов языка программирования Алгол 68 и подготовка к его реализации.
В тот период Г. С. Цейтин вёл активную переписку[24] с членами Рабочей группы 2.1 ИФИП по Алголу, внося свои предложения по улучшению проекта языка Алгол 68. Он добивался ответа непосредственно от авторов сообщения об [11], но получал ответ от Мишеля Синцова (M. Sintzoff) и кого-то ещё из исследовательской лаборатории "MBLE" (Брюссель, Бельгия). Наконец, не без поддержки А. П. Ершова, ему удалось встретиться А. ван Вейнгаарденом (A. van Wijngaarden, 1917–1987) в Академ-городке под Новосибирском. Обсуждались некоторые свойства языка Алгол 68, в частности, синтаксические ограничения на предложения выбора по виду и невозможность динамически “печь” процедуры[25].
Слева направо: (2) Йорн Йенсен, (3) Пер Бринч Хансен, изобретатель программных мониторов, крайний справа – Петер Наур
В последнем номере Алгол Бюллетеня (№ 52) за август 1988 г., известившем о смерти А. ван Вейнгаардена, была опубликована статья Г. С. Цейтина об обработке исключительных ситуаций [12]. Закончилась и жизнь форума, обсуждавшего проблемы языков программирования типа Алгол в течение многих лет.
В 1968 г. по стране прокатилась волна образования отделений прикладной математики, а 1 апреля 1970 г. была открыта кафедра Математического обеспечения ЭВМ с заведующим С. М. Ермаковым. Уже через год состоялся её первый выпуск. Фактически его составили студенты различных математических кафедр, переведённые на третьем курсе на отделение прикладной математики в год его образования (1969), когда этой кафедры ещё не существовало.
С начала 70-х отчетливо начала ощущаться слабая оснащённость ВЦ ЛГУ современной вычислительной техникой. Например, разработка проекта реализации Алгола 68 для ЕС ЭВМ[26] началась, когда собственных машин этого типа в ВЦ ЛГУ ещё не было. По этой причине в 1971 для студентов кафедры, участвовавших в этом проекте, производственную практику пришлось организовывать в Москве у заказчика (НИЦЭВТ) на системах IBM 360/370 – прототипах отечественных ЕС ЭВМ.
К 1976 г. проект “Алгол 68” в основном был завершён. Отчёт [13] по нему подвел научный итог этой работы. Участниками проекта, и не только студентами, эта работа расценивалась как настоящая школа системного программирования[27].
Следует сказать, что реализация шла параллельно с разработкой языка, и это требовало находить такие технологические решения, которые позволяли бы с минимальными усилиями реагировать на изменения языка. Именно тогда был разработан метод автоматической генерации анализаторов. Впоследствии этот опыт был использован при реализации Ады для ЕС ЭВМ и серии трансляторов Алгола 68 для персональных ЭВМ в лаборатории системного программирования.
В 1971 г. в Ленинград переехал Святослав Сергеевич Лавров (12.03.1923, Ленинград − 18.06.2004, С. Петербург), который сменил С. М. Ермакова на посту заведующего кафедрой до 1977 г. Благодаря его широким научным интересам и эрудиции в различных областях компьютерной науки: языках программирования и методах их трансляции, теории и методологии программирования, баз данных и искусственного интеллекта, значительно обогатилась тематика научных исследований и, соответственно, дипломных работ студентов.
Чл-корр. РАН С. С. Лавров
При С. С. Лаврове вдвое увеличился приём студентов на кафедру (до 50 человек), и получила значительное развитие аспирантура по компьютерной науке. Тогда же был создан диссертационный совет по специальности 05.13.11 – математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей. Этот совет, позже дополненный ещё двумя специальностями: 05.13.17 – теоретические основы информатики и 05.13.18 – математическое моделирование, численные методы и комплексы программ, работает до сих пор[28].
С. С. Лавровым, А. О. Слисенко и Г. С. Цейтиным был разработан проект учебной программы по специальности “Информатика и системное программирование” [15], сыгравший заметную роль в утверждении в СССР информатики как самостоятельной науки. Начал регулярно работать теоретический семинар кафедры. Преподаватели кафедры почувствовали себя членами единого коллектива, объединёнными не только общими педагогическими и научными интересами, но и чисто человеческими отношениями. Не раз кафедра встречала Новый год в доме С. С. Лаврова и его супруги Ирины Борисовны, которая была душой этих ассамблей.
В 1977 г. С. С. Лавров был назначен директором Института теоретической астрономии АН СССР, но продолжал ещё несколько лет заведовать кафедрой.
В 1986 г., порекомендовав в качестве своего преемника на посту заведующего кафедрой Анатоля Олесьевича Слисенко, бывшего в то время заведующим лабораторией Санкт-Петербургского института информатики и автоматизации РАН, специалиста в области математической логики и теории алгоритмов, С. С. Лавров ушёл с факультета. Начался новый период в жизни кафедры.
Три зав. кафедрой мат. обеспечения ЭВМ (информатики) в разное время: проф. С.С. Лавров, А.О. Слисенко,Н.К. Косовский
Появилась новая тематика, связанная с оценкой сложности алгоритмов. А.О. Слисенко читал общий курс дискретной математики для студентов отделения математики.
После отъезда А.О. Слисенко на работу в университет Париж- 12 (1992 г.) некоторое время кафедра оставалась без заведующего.
В конце 1993 г. впервые в истории математико-механического факультета состоялись альтернативные выборы заведующего кафедрой, в которых победил профессор Николай Кириллович Косовский30, специалист по математической логике и теории алгоритмов. С его приходом получили дальнейшее развитие исследования в области неклассических логик и искусственного интеллекта. Его исследования связаны с теорией сложности алгоритмов, логическим программированием, искусственным интеллектом (логические методы, эвристический поиск).
В заключение хочется привести слова Сади: “Иных уж нет; а те далече”.
Примечания
1. Систему ремесленных училищ, готовивших рабочий класс, мастеров “золотые руки”, здесь не рассматривается, хотя нынче, в новых условиях, это актуальная проблема.
2. Перед окончанием школы мы с ним пытались самостоятельно овладеть “исчислением малых”, но безуспешно: в школе в то время не было математического анализа. Но всему своё время ? в университете этому предмету отводилось 2,5 года в добротном изложении с упражнениями дважды в неделю.
3. Впоследствии в аспирантуре я использовал 10-й спутник Юпитера для проверки метода, построенного в диссертации, для учёта возмущений искусственных спутников Земли от Луны и Солнца [3].
4. Были ещё и такие вузы, которые отличалась от университетов: чем именно, было понятно всем.
5. Что лучше для качественного отбора студентов: нынешнее ЕГЭ или то, что было?
6. Угол”, то есть часть комнаты, отделённая мебелью. Стипендии хватало лишь на питание в студенческих столовых и проезда на общественном транспорте. И хотя плата за угол была небольшая, стипендия её не выдерживала.
7. И неспроста: специальность курировалась Министерством обороны с соответствующей стипендией (450 р. против обычной 290 р.).
8. Все курсовые работы, дипломная работа и первая диссертация, были выполнены на астрономические темы, и при этом, как показала дальнейшая жизнь, подготовка по этой специальности оказалась достаточной, чтобы работать и в других областях.
9. Позднее ИТА.
10. Выбор такого типа машины был весьма прозорлив – первая реальная ЭВМ в ЛГУ “Урал-1” была именно одноадресной.
11. А. Н. Балуев ? участник Великой Отечественной войны 1941−1945 г.г. На фронте с первых дней войны после окончания первого курса мат.-меха. После Победы вернулся на факультет, который окончил в 1949 г.
12. Студенты-вычислители на первом курсе изучали логарифмическую линейку и использовали младших курсах арифмометры “Феликс”, а даже арифмометры Однера царских времён; на старших курсах – “Рейн металлы” и “Мерседесы”.
13. Научно-исследовательский институт математики и механики ЛГУ.
14. Они же и первые директора ВЦ ЛГУ на общественных началах.
15. “Даже во время написания первых трансляторов с Алгола 60 большой проблемой было обеспечить ввод и вывод буквенно-цифровых данных. А у БЭСМ-6 долгое время не было внешней памяти на дисках”. – С. С. Лавров.
16. О. А. Полосухина, бывшая бестужевка, учила Г. М. Фихтенгольца и нас.
17. В то время не было специальности программист, и все числились по должности в качестве инженеров или старших инженеров.
18. Г. П. Самосюк ? участник Великой Отечественной войны.
19. Г. И. Кожухин ? первый переводчик на русский язык Revised Report on the algorithmic language ALGOL 60.
20.ТА-2 в ВЦ ЛГУ не был введён в повседневную эксплуатацию из-за нестабильной работы ЭВМ.
21. Здесь уместно вспомнить организованные И. В. Романовским серии методических материалов по программному обеспечению ЭВМ: “Алгол-процедуры”, ”Описание алгоритмических языков”, “Руководства по трансляторам”, “Сервисные программы” и т.д.
22. А. А. Дородницын (1910–1994) ? один из основателей и первый директор ВЦ АН СССР. Президент Международной федерации по обработке информации (IFIP) в 1968–71 годах.
23. Будущего космического туриста на МКС. Он повёз в космос в качестве сувенира бумажную ленту от советской ЭВМ «Урал-2» 1964 года выпуска. На этой ЭВМ он, один из основателей «Майкрософта», когда-то делал свои первые шаги в информатике.
24. Напомню для тех, кто не знает, что в то время электронной почты не существовало.
25. Мне довелось участвовать в этой встрече, которая началась с объяснения А. ван Вейнгаардена, что его фамилию следует переводить на русский язык как “Виноградников”. За обедом он рассказал, что в молодости симпатизировал марксизму и участвовал в молодёжных движениях. Заметив, что вокруг курят, рассказал, что сам просил курить, когда однажды, захотев закурить, обнаружил в зубах свою дымящуюся трубку.
26. Эта система программирования на базе языка АЛГОЛ 68 использовалась на факультете в учебном процессе в течение 10 лет (1976–1986). Ещё дольше она применялась в промышленных разработках.
27. По этой тематике С. Н. Баранов, П. Сёке, А. Н. Терехов в ЛГУ защитили кандидатские диссертации, а А. Шоймоши (в Эрлангене, Германия) получил степень доктора философии [14].
28. В 1998 г. я защитил докторскую диссертацию по монографии [16], подытожившей работу над технологическим комплексом SYNTAX. С. С. Лавров выступал в качестве официального оппонента. Кажется, это было его последнее выступление в таком качестве.
Список литературы
1. Из истории отделения информатики математико-механического факультета Санкт-Петербургского университета. Стр. 63–78. \\ История информатики и кибернетики в Санкт-Петербурге (Ленинграде). Вып. I под общей ред. чл.корр. РАН Р.М. Юсупова. С-Пб, Наука, 2008.
2. Наш матмех (1954-1959). Санкт-Петербург, 2007, с. 277.
3. БЮЛЛЕТЕНЬ ИТА, изд. «Наука», М. Том X, №7 (120), 1965, с. 457–507; Том X, №9 (122), 1966, с. 611–623; Том XI, №1 (124), 1967, с. 33–47.
4. Канторович Л. В. Об одной математической символике, удобной при проведении вычислений на машинах. ДАН СССР, 1957, т. 113, № 4, стр. 738–741.
5. Б. К. Мартыненко, И. А. Мартыненко. Инструкция для подготовки входной информации к вычислениям астографических координат ИСЗ и соответствующих им моментов времени на электронной вычислительной машине “Урал”. Астросовет АН СССР. 1961, с. 30.
6. А. Масевич. Наблюдая за спутниками. // Пути в незнаемое. Писатели рассказывают о науке. Сборник 2. М.: Советский писатель, 1962, с. 459-490.
7. Балуев А. Н., Балина Г. А., Братчиков И. Л., Иголкин В. Н., Ковригин А. Б., Мартыненко Б. К., Порошин Б. С., Сурин С. С. Программирующая программа для ЭЦВМ с входным языком типа АЛГОЛ. // “Вычислительная техника и вопросы программирования”, вып.2, ЛГУ, 1963, с. 105-115.
8. П. Наур. Структура компилятора ЖИЕР АЛГОЛ. // “Современное программирование”, Советское радио, М. 1966, с. 161-207.
9. Stack analysis. Scandinavian Information Processing Systems. A/S Regnecentralen, Copenhagen, 1968.
10. J. Jensen, S. Lauesen, B. P. Lindgreen, B. K. Martynenko, D. B. Wagner. Pass actions, pass output, and storage organization in the Gier Algol 4 Compiler. Scandinavian Information Processing Systems. A/S Regnecentralen, Copenhagen, 1969.
11. van Wijngaarden (Editor), B. J. Mailloux, J. E. L. Peck and C. H. A. Koster. Report on the Algorithmic Language ALGOL 68. Offprint from Numerische Mathematik, 14, 79—218 (1969). Springer-Verlag, Berlin • Heidelberg • New York.
12. G. S. Tseytin. An Exception Handling Proposal for ALGOL 68. 1988, c. 14–26.
13. Алгол 68. Методы реализации. Под ред. Г. С. Цейтина, Л., ЛГУ, 1976. – 234 с.
14. Andreás Solymosy. Synthese von analysierenden Automaten auf Grund von formalen Grammatiken. Dissertation, Band 11, Nummer 10, Erlangen, Juli 1978.
15. С. С. Лавров, A. O. Слисенко, Г. С. Цейтин. Проект учебного плана специальности: ‘информатика и системное программирование’. Микропроцессорные средства и системы. 1985, №4, с.20-28.
16. Б.К. Мартыненко. Синтаксически управляемая обработка данных. СПбГУ, 1997, с.362; 2-е изд.: СПбГУ, 2004, 316 с.
Об авторе: Санкт-Петербургский государственный университет
mbk@ctinet.ru
Материалы международной конференции SORUCOM 2011 (12–16 сентября 2011 года)
Статья помещена в музей 10.07.2013 с разрешения авторов