Повезло, что нашей учебно-производственной базой стал Вычислительный центр Академии наук (ВЦАН) на улице Вавилова. До этого вершиной вычислительной техники для меня был арифмометр «Феликс». И вдруг мы, десятиклассники, очутились как в фантастическом мире – на ЭВМ (электронно-вычислительная машина) БЭСМ-2. Расшифровывалось это как Большая электронно-счётная машина второй модели. Точнее, нас привели в зал , где она располагалась. По вычислительным возможностям БЭСМ-2 была, наверное, в миллион раз слабее заурядного современного ноутбука, но тогда… Громадный пульт с десятками разноцветных тумблеров, кнопок и ручек настройки; перед ним панель, где замысловато мигает множество огоньков. По всему залу стоят разнообразные шкафы и установки, где что-то мигает, что-то крутится. Сотрудники в белых халатах…
Программировали мы… На каком языке? – нетерпеливо спросит современный юный программер. Ни на каком. Ещё не было тогда нам известно о языках программирования. Писали мы на специальных бланках последовательность одноадресных команд. То есть в каждой строке был указан числовой код команды (например: взять число из такой-то ячейки в сумматор, или прибавить к сумматору содержимое ячейки с таким-то адресом, или записать содержимое сумматора в ячейку с указанным адресом, или передать управление на команду под таким-то номером) и адрес – номер ячейки, где хранится нужное число. Из этих строк и состояла программа.
Что можно запрограммировать таким образом? Теоретически – что угодно (кто сомневается, пусть прочитает про машину Тьюринга). Правда, «что угодно» было тогда довольно ограниченным. Мы писали программы для итеративных методов приближённых вычислений. Выполнялась программа одну-две минуты, но составление, подготовка и отладка занимали один-два месяца.
Однажды, чтобы к моменту отладки примерно знать результат, я произвёл те же расчеты (только с гораздо меньшим числом итераций-повторений) на механическом арифмометре. Несколько дней трещал на нём очень рьяно, примерную оценку результата получил, но понял, что ЭВМ – это великое дело.
Написав программу, мы сдавали её преподавателю; он относил плоды наших титанических усилий в ВЦ «на набивку». Когда мы приходили туда на практическое занятие, нас ждали… метры киноплёнки. На чёрной целлулоидной ленте были пробиты (отперфорированы) наши команды в виде рядов маленьких прямоугольных отверстий (каждый ряд соответствовал строке на бланке). Чтобы запустить плёночную перфоленту (многослойное кольцо) на вводном устройстве, нужно было склеить её начало с концом, причём с переворотом, как ленту Мёбиуса, – это позволяло прокручивать её многократно. Сначала вводили программу, потом исходные данные, потом запускали программу на выполнение. На панели высвечивался результат. Ряд лампочек означал число в двоичной системе (горит лампочка – 1, не горит – 0). Для удобства лампочки были разбиты на триады, так что можно было считывать результат не в двоичном, а в восьмеричном виде (всё-таки компактнее). До распечаток ещё было далеко.
Найдя ошибки в командах или в исходных данных на вводной перфоленте, мы могли кое-что исправить. Вставить строку не получалось, надо было всё отдавать на перфорацию заново. Но исправить 0 на 1 (ввод тоже имел двоичную форму), то есть пробить дырочку, можно было ручным перфоратором, похожим на дырокол. Чтобы исправить 1 на 0, устраняя пробитое отверстие, приходилось вставлять в него маленький прямоугольный кусочек плотной чёрной бумаги (такие кусочки почему-то назывались «мόзги»), выглаживая его ногтем, чтобы закрепить в дырке.
Описываю это без сожалений о каменном веке программирования, лишь восхищаюсь тем, как разительно изменилась компьютерная техника на моей памяти. Каким естественным, разнообразным и творческим стало программирование. Каким ошеломляюще-непостижимым был бы мгновенный перенос из того времени в это!
Насколько же ещё более ошеломляющим, ещё более непостижимым будет переход в вечную жизнь… Может быть, уже сейчас пора готовиться, вглядываясь в те чудеса, которые нам приоткрыты.
Обеспечив практику в самом ВЦ Академии наук, пятьдесят вторая школа дала нам возможность заглянуть в преддверие своего рода гильдии программистов, которая в те времена только формировалась. А вход в неё был очень узок. Ведь не было ещё персональных компьютеров. Языки программирования (бытовал термин «язык высокого уровня») были новинкой, с которой могли познакомиться лишь редкие рафинированные специалисты. Далеко ещё до баз данных, дружеских интерфейсов, деления на прикладников и системщиков, до прочих основ программисткой цивилизации.
Читать дальше
Конец ознакомительного отрывка
Купить книгу