Вспоминая школу программирования

Вспоминая школу программирования

В начале 7 класса я случайно увидел в коридоре своей школы объявление о наборе в клуб программирования при Вычислительном центре Сибирского отделения АН СССР. Перепутав время и место, я, тем не менее, попал на первое его собрание. Это оказалась группа, которую вёл Г. А. Звенигородский. В то время я был сильно увлечён электроникой, а мой интерес к программированию был совершенно абстрактный. Вероятно, единственный компьютер, с которым я к тому времени имел дело, был программируемый калькулятор МК-54. Ещё меня восхищала системы бронирования билетов Сирена, терминал которой можно было увидеть в кассе Аэрофлота. Экран его всегда располагался под большим углом, так что пассажирам почти ничего не было видно. Думаю, что главным моим желанием в то время было не изучить программирование, а потрогать красивые электронные штуки и просто понять, что с этим можно сделать.

Детали наших занятий и собственно учебный процесс мне запомнились плохо. Помню, что было много материала примерно как на уроке математики в школе, но более интересно, хотя как-бы менее понятно. Я в целом неплохо учился, и эта «непонятность» программирования меня долгое время беспокоила. Никто в то время не рассказывал нам об абстракциях, интерфейсах, инкапсуляции, и прочих философских материях. Через много лет я прочитал книжку Гради Буча про объектно-ориентированный дизайн, и до меня дошло, что это совершенно нормально, и даже правильно, не понимать всех деталей работы большой системы. Не уверен, что с этой проблемой справляется современное 1 поколение школьников и преподавателей. Моя первая программа считала на БЭСМ-6 сумму углов треугольника и состояла из дюжины строк на языке Сетл. Вариант нынешнего “Hello, World!” Когда я вводил свой код через терминал Videoton, меня мучал вопрос: что именно произойдёт, когда я отправлю программу на исполнение? Обошлось без багов, программа как-то заработала, но мой вопрос остался до конца неотвеченным. Нас отвели в дальнее помещение ВЦ, где стучали телетайпы, и пахло влажной бумагой; мне достался огромный газетный лист, на котором в углу была напечатана моя программа, а после нее число «180».

Интересно, что Геннадий Анатольевич в те времена (ещё до того, как стал формально преподавать в общеобразовательной школе), вёл себя подчёркнуто как учитель, и всегда держал должную дистанцию старшего по отношению к ученикам. Вставание с мест перед началом занятий было неожиданным для внеклассной работы, но дисциплинировало. С другой стороны, во время занятий на ВЦ практиковались неторопливые прогулки один на один взад-вперёд по длинному коридору для обсуждения текущих планов и задач. Такое, подчёркнуто «правильное», но профессиональное и уважительное отношение, было весьма необычным для советского школьника, вызывало симпатию, и притягивало не меньше, чем программирование и компьютеры.

К тому времени вокруг Звенигородского образовалась тесная группа профессионально продвинутых и особо доверенных учеников, занимавшихся имплементацией языка Рапира и операционной среды для будущей системы Школьница. Коллектив этот был особенный, и, как мне казалось, элитарный. Писали они преимущественно на языке ассемблера, а также вели рукописный лабораторный журнал, полный шуток, где каждый член группы имел псевдоним, заимствованный из животного мира. Чтение этого журнала было непременной частью моего посещения ВЦ, тем более что всегда нужно было ждать своей очереди сесть за клавиатуру. Единственным доступным современным компьютером в то время был Apple II+, купленный, подозреваю, окольными путями из-за действовавшего Западного эмбарго. Машинное время поэтому жёстко нормировалось, но я не помню, чтобы это вызывало какие-то проблемы или конфликты. Доступ к этому одному на всех компьютеру был весьма свободным: с какого-то момента мне разрешили получать у вахтера ключ от комнаты, и я стал стучать по кнопкам ранним утром в субботу, когда все еще спали.

Постепенно я освоился и стал приезжать на ВЦ несколько раз в неделю. К тому времени нам предложили заниматься разработкой учебных пакетов прикладных программ для Школьницы. Мне запомнилось, что этот переход от теоретического изучения программирования и учебных примеров к конкретным практическим проектам случился довольно быстро. Работа над проектами была увлекательной, по-настоящему затягивала, и не была ограничена только разработкой кода. Мы занимались всем тем, что нынче попадает под определение software engineering: сбор и анализ технических требований, разработка документации, тестирование с реальными пользователями, и т.п. Документация к моему проекту состояла из 4 отпечатанных томов, и я сам ездил в УПК (учебно-производственный комбинат) контролировать работу машинисток. По итогам работы был издан препринт. Какое-то время нам даже платили небольшую зарплату, пока это по какой- то причине не вызвало жалобы родителей. Огромный опыт дало участие в Летних школах юных программистов, где нам поручали заниматься разнообразными текущими вопросами: встречать делегации в аэропорту, следить за порядком и расписанием, помогать на занятиях.

Я изредка встречал академика А. П. Ершова и знал, что наш клуб программирования организован по его инициативе. Между тем, никто из нас, школьников, не мог в то время представить масштаб и сложность этого проекта. Мы видели цель нашей работы. Мы были окружены молодыми энтузиастами, сотрудниками Ершова, которые занимались с нами интересным делом, часто в неурочное время. Мы участвовали в ежегодных Летних школах юных программистов, куда стекались интересные люди и привозили новую компьютерную технику. Мы ездили в Ленинград, Чехословакию и США. Когда после смерти Андрея Петровича его архив появился в сети, стало более понятно, каких бюрократических усилий, личных связей и авторитета это на самом деле требовало. Заслуга А. П. Ершова была не только в том, что он популяризировал идею всеобщей компьютерной грамотности, но и в том, что он внёс огромный вклад в её осуществление как талантливый руководитель.

Мне нравилась эта «реальность» происходящего на Вычислительном центре, особенно в контрасте с унылым советским образованием. Но в 1984 году случилось неожиданное: стараниями А. П. Ершова в моей школе был организован 9-й класс с углубленным изучением программирования и Г. А. Звенигородский стал его первым классным руководителем. Я подозреваю, что этот эксперимент нелегко дался как нашим прежним наставникам, которые привыкли работать в более свободной среде, так и руководству школы, состоявшему из педагогов старой закалки. Многие из тех, кто собрался в этом классе, уже пару лет занимались на ВЦ, и не только уверенно чувствовали себя в программировании, но имели организационный опыт, полученный на Летних школах, а также собственное мнение. После преждевременной кончины Г. А. Звенигородского в октябре 1984, и некоторым периодом замешательства по поводу будущего нашей программы, Н. А. Юнерман (Гейн) стала нашим новым классным руководителем, и с ней мы закончили школу.

Как и большинство моих школьных друзей, я с теплом вспоминаю время, проведенное в клубе программирования на ВЦ, и затем наш спецкласс в 166-й школе. Прежде всего, как возможность участвовать в масштабном проекте придуманным А. П. Ершовым, и общаться с неординарными и профессиональными людьми, которые были нашими наставниками: Г. А. Звенигородским, Н. А. Юнерман (Гейн), А. А. Берсом, Ю. А. Первиным. Кроме того, это дало мне профессию, которой мне нескучно заниматься уже 37 лет.

Об авторе: США, Чикаго
Материалы международной конференции Sorucom 2020
Помещена в музей с разрешения автора 31 марта 2022