Я не помню где и когда я услышал эту историю, не знаю место действия, но произошло это в военном институте.
На исходе советского времени отмечали юбилей начальника института, генерала, доктора и лауреата. Генерал-либерал не принимал поздравляющих в своем кабинете, а совершил обход своих подразделений, совместив рутинную процедуру обхода с получением поздравлений и подарков. Этим он также расширил круг поздравляющих и попутно обошел щекотливую проблему употребления спиртных напитков с подчиненными в служебных помещениях и в рабочее время. Тогда с этим было строго: борьба с зелёным змием.
Конечно, посетил он и вычислительный центр. Минут 10 занял обход, еще минут пять выслушивание поздравлений и, поблагодарив присутствующих, генерал повернулся к выходу.
- Одну секунду, товарищ генерал, пожалуйста, нажмите вот эту кнопку.
Генерал нажал. Тут же застрекотала БПМ (быстропечатающая машина) и из неё стала выползать широкая компьютерная распечатка. Это был портрет генерала, выполненный набором печатных символов. Генерал был расстроган. И, чрезвычайно довольный, удалился. Один из сопровождавших, заместитель генерала, полковник, задержался.
- А можно мне тоже нажать кнопку? - спросил он, надеясь получить свой портрет.
- Это только для генералов, - последовал ответ, которым полковник был полностью удовлетворен.
-----------------------------
Вы сейчас прочитали преамбулу моего сочинения, теперь будет амбула, по традиции не имеющая никакого отношения к преамбуле.
Моя линия жизни периодически подводила меня к компьютерам, а затем неуклонно отдаляла от них.
Компьютеры в средней школе
В ранней юности, окончив обычную восьмилетнюю школу, я поступил учиться дальше в весьма продвинутую школу в математический класс. Было это - Боже мой! - 50 лет назад.
Математику нам преподавал 10 часов в неделю специально приглашенный (не знаю, может быть и сам он напросился со своей какой-то целью) преподаватель из пединститута, Георгий Георгиевич. Очень серьезный и солидный человек. Мне запомнилось два его выражения:
Это всё равно что умножить сапоги на папиросы.
Не все люди Иваны, есть еще и Георгии.
Школа по инерции еще имела в своем названии слово «политехническая» - атавизм хрущевских одиннадцати классов. Предполагалось, что выпускники средней школы вместе с аттестатом приобретут рабочую специальность. Никиту погнали в 1964 году, а через два года состоялся последний выпуск 11-х классов. В том же году был и первый выпуск 10-х классов, то есть этот двойной объем выпускников создал адский конкурс для поступления в ВУЗ. В связи с тем, что срок обучения сократился на год, а объем школьной программы не уменьшился, а наоборот, имел тенденцию к росту, на производственное обучение повсеместно забили. Но не в моей школе. Все-таки она была лучшая в городе. Или одной из двух самых хороших.
Старших (9 и 10) классов в школе было по шесть штук от А до Е. И брали туда не всех подряд. Троечников у нас практически не было. Один класс был «физический», туда почему-то попадали ученики послабее, в основном мальчики. Для девочек был «химический» класс (почему химический?). Остальные четыре класса были «математические». Математики приобретали рабочую профессию программиста. Не знаю, что под этим понимало наше руководство, в школе никаких компьютеров не имелось.
Зато раз в неделю был урок программирования, где обучали… Все-таки 50 лет прошло, уже почти всё забыл. Припоминаю, что нас учили восьмиричной системе исчисления: перевод чисел из десятичной системы в восьмиричную и обратно, сложение умножение и прочее с восьмиричными числами и прочее такое малополезное. Когда эту восьмиричную хренотень вбили в головы, перешли к практическим занятиям. Натурально, эти занятия к восьмиричной системе никакого отношения не имели.
Забыл сказать, что наше политехническое образование базировалось на местном университете, на его вычислительном центре. И в начале нас стали тренировать на малых вычислительных машинах. Слыхали о таких? Нет, это не персональные компьютеры, до них было ещё лет 15. Это были дети и внуки Феликса. Для тех, кто не в курсе вот вам арифмометр Феликс, механический калькулятор.
Нас стали учить считать на электромеханических калькуляторах, где не надо было крутить ручку как на швейной машине. Там были электромоторы и сложнейшая механика. Результат считывался с цифр в маленьких окошках (как в электросчетчике, только там окошечек было полтора-два десятка). Калькуляторы были двух типов, «Рейнметалл» (их было побольше) и «Мерседес», внешне очень схожие. Судя по названиям, это была ещё трофейная техника. Работала она со страшным грохотом, но считала быстро и точно. Как вы можете понять, электронных калькуляторов тогда тоже еще не было.
А тут этот чудо-арифмометр представлен в интерьере.
Овладев малыми машинами, мы стали обучаться работе на больших ЭВМ, сначала теоретически. В университете была такая учебная ЭВМ «Урал-1». В то время эта одна из первых советских ЭВМ уже морально устарела, но еще работала и кормила свой обслуживающий персонал. Для вычислений в интересах университета служила более современная ЭВМ «Урал-4», нам её издали показали. Она была вдвое крупнее немаленькой «Урал-1».
Для обучения программированию ЭВМ не требовалась. Программы писали ручкой на бумаге. Потом её набивали на машинном носителе. И уже этот машинный носитель засовывали в ЭВМ и та считала. Или не считала и останавливалась. Она останавливалась когда заканчивала программу, когда программа была неправильная и ЭВМ попадала в ступор или когда просто ломалась. Имевшиеся ЭВМ «Урал» были выполнены на лампах, этих ламп было в них до чёрта, а лампы не очень надежная вещь, причем с ограниченным ресурсом. Среднее время наработки на отказ было около одного часа. То есть работала машина несколько минут - и останавливалась. Потом, после устранения неисправности, она могла проработать пару часов, потом снова остановка. Вокруг ЭВМ крутилось несколько инженеров и техников, обеспечивая её работу и ремонт.
ЭВМ «Урал-1» была одноадресная машина. Это значит, что в одной строке программы можно было записать команду и только один адрес, то есть число, имевшееся по данному адресу в машине. Число записывается в ячейку, а ячейка имеет уникальный адрес. Всякая команда, выполняемая ЭВМ, имеет код. А строка программы содержит код команды и адрес. Для выполнения арифметических действий одного адреса (числа) недостаточно, поэтому имеются еще и специальные ячейки без адреса. Главная из них - так называемый сумматор. Итак, имея перечень команд (точнее их кодов) можно уже, например, написать простую программу сложения двух чисел. Для этого нам потребуется четыре команды. Алгоритм будет такой:
Послать первое число в сумматор.
Сложить число из сумматора с числом в ячейке. При этом результат сложения будет находиться в сумматоре.
Послать результат (число из сумматора) в ячейку.
Напечатать результат.
Печатающее устройство напечатает результат. Или можно считать результат на пульте, но там результат будет в двоичной системе (которая элементарно пересчитывается в восьмиричную систему). - оно нам надо? И может случиться, что мы не успеем это сделать, потому что ЭВМ уже считает что-то другое, причем с большой скоростью.
Забыл сказать, что программы пишутся в восьмиричной системе. А выглядят строки команды как число: первые три цифры - код команды, затем адрес. Адрес ячеек назначается программистом исходя из выданного ему для работы адресного пространства ЭВМ. А как вы думали? Одна (работающая) ЭВМ в ВЦ, а программистов может быть много и каждый суёт в ЭВМ свою программу.
Закончив теоретический курс программирования и, одновременно 9-й класс, мы отправились на недельную практику на ВЦ университета. Предварительно были выданы задания: небольшая арифметическая формула, которую мы должны были вычислить, то есть написать программу для её вычисления.
Программы были написаны, далее надо было их перенести на машинный носитель. Носитель на «Урал-1» был архаичен - 35 миллиметровая зачерненная кинопленка. Перфоратор в соответствии с записанными в программе числами пробивал на пленке прямоугольные отверстия. Дырочка - единица, пропущенное место - ноль. На одной строчке помещалось десять дырочек. Одна дырочка - метка начала строки и три восьмиричных числа в двоичной системе. Одна строка программы занимала три строчки на пленке.
Пришли мы в университет. Нам показали, что положено. Стали набивать пленку. С грехом пополам набили. Потом проверяли, перебивали. Настал момент запустить наши программы на ЭВМ.
Ага! «Урал-1» не работает. Стали ремонтировать. Запустили. ЭВМ поморгала лампочками и остановилась. Опять ремонт. И так всю нашу неделю. От нечего делать я стал составлять квазипрограммы, которые на пленке выглядели как буквы, составленные в слова. Это и был результат моего годичного обучения программированию.
В 10 классе никакого программирования уже не было. Были только экзамены на аттестат зрелости.
Кроме отдельных слов из терминологии мне потом в моей жизни ничего не пригодилось.
И ещё. Через 7 лет после описанной практики на ВЦ я пришел молодым инженером на работу в КБ. В углу на шкафу пылился «Мерседес», вроде того, что на картинке выше. Когда-то на нем делали расчеты. Через пару месяцев наш отдел переехал в другое помещение, а «Мерседес» был брошен на старом месте.
Возвращаясь к преамбуле что можно сказать? Офицеры из ВЦ военного института сделали портрет начальника, что-то в таком стиле:
А я, будучи школьником, занимался на ВЦ университета тем же самым, только уровень и техники, и мастерства в моем случае был несоизмеримо ниже.
--------------------
Продолжение?
Может быть…