КОГДА МАШИНЫ БЫЛИ БОЛЬШИМИ (воспоминания программистки)
Ирина Курылёва.
Эти воспоминания сложились давно. Я написала их для тех, кто, как и я, прошел свой жизненный путь рядом с ЭВМ, а также для тех, кто думает, что компьютеры появились 10 лет назад. Первую программу для ЭВМ я написала в 1966 году. Это была курсовая работа студентки четвертого курса факультета вычислительной математики и кибернетики (ВМК) Горьковского государственного университета.
Я хорошо училась в математической школе и поэтому легко поступила на механико-математический факультет по специальности "Вычислительная математика", о которой, как и остальные абитуриенты, я ничего не знала. Выбрала я ее по совету знакомого первокурсника, который сказал, что девочки обычно идут на специальность "Вычислительная математика".
Так и было: из ста человек, учившихся вместе со мной, подавляющее большинство девочки. Сейчас соотношение изменилось, стало равным.
В конце первого семестра, 1 декабря 1963 года, на базе кафедры "Вычислительная математика" мехмата был создан факультет вычислительной математики и кибернетики (ВМК). Он стал первым в СССР. С тех пор и празднуется День ВМК, так что в 2003 году нашему факультету исполняется 40 лет!
Но вернемся в шестидесятые годы. Во время учебы основной упор делался на высшую математику, а к таким дисциплинам, как "Программирование" или "Математические машины", относились легкомысленно. Многие студенты, если их курсовые и дипломные работы не были связаны с программированием, столкнулись с вычислительной техникой, только закончив учебу и приступив к производственной деятельности. Я окончила университет в 1968 году, получив специальность "математик-вычислитель", и вплоть до недавнего времени писала программы для почти всех типов ЭВМ, что были в СССР.
Путь, пройденный за это время вычислительной техникой, я бы разделила на четыре этапа.
Этап первый. Программы пишутся в кодах машин, то есть алгоритм переработки информации в ЭВМ записывается в виде команд на машинном языке. (Тогда у профессионалов ЭВМ назывались машиной, а не компьютером, и, естественно, они была только отечественного производства.) В университете стояла большая машина - М-20. Для ее работы требовался обширный обслуживающий персонал: инженеры-радиоэлектронщики, операторы ЭВМ, операторы по набивке данных, всякого рода администраторы. М-20 работала круглосуточно, машинное время заказывалось заранее и делилось между пользователями. Студентам и даже аспирантам его днем не давали, только по ночам. ЭВМ часто выходила из строя, а так как ночью инженера-радиоэлектронщика рядом не было, то в случае поломки его вызывали по телефону. Он прибегал, что-то налаживал, и работа продолжалась. Ожидавшие своего машинного времени занимались кто чем: одни спали на столах, другие разговаривали, третьи искали ошибки в своей программе. После бессонной ночи шли в кафе завтракать, потом в кино. Счастливое время, молодость!
Процесс получения результатов был очень долгим. Сначала на специальных бланках писали программу в кодах, используя замечательную книгу "Программирование на ЭВМ типа М-20" автора Ляшенко, потом эти листы сдавали в перфораторную. Через некоторое время в руках оказывалась колода перфокарт, на которых было набито твое творение: дырочка - 1, нет дырочки - 0. С помощью этих двух цифр (0 и 1) кодировалась нужная информация. Первое, что нужно было сделать, это пронумеровать полученную пачку перфокарт, распечатать и сверить набивку, иначе рассыпанную и неподписанную колоду трудно собрать в первоначальном порядке. Потом программу сдавали на выполнение, и после долгого ожидания нередко случалось, что никакого результата нет или результат не тот. Вставив промежуточные печати и получив промежуточные результаты, исследуешь их и шаг за шагом приходишь к правильному ответу. Значит, программа отлажена!
Большим искусством было с помощью перочинного ножика вырезать нужную дырочку на перфокарте или заклеить ошибочную, если исправление незначительное. Для того чтобы можно было прочитать набитое, существовала специальная, особым образом пробитая и разлинованная перфокарта - трафаретка. Каждый владелец раскрашивал ее в зависимости от личного вкуса. Кто сейчас может сделать трафаретку?
Несколько месяцев упорного труда отделяли поставленную задачу от отлаженной программы.
Наряду с ЭВМ типа М-20 существовали машины "Минск" и "Урал". Их я освоила, когда попала по распределению в одно конструкторское бюро города Тулы. Разница между ними была несущественная, хотя каждая из этих ЭВМ имела свою систему команд, разное быстродействие, свои носители информации. Для "Минска" носителем информации служила бумажная перфолента. На специальном аппарате она сматывалась в тугую бобину, потом эту бобину ставили во ввод, где происходило неспешное считывание информации. Несчастьем было, случайно выронив перфоленту из рук, распустить бобину: бумажная лента запутывалась и рвалась, буквально - артель "Напрасный труд".
Для ЭВМ "Урал-2" носителем информации являлась кинопленка. Не просто было внести на нее исправления: прорезать дырочку или заклеить. Кинопленку, на которой набита программа, склеивали в кольцо, так нужно было для работы устройства ввода. Труднее всего было заправить это кольцо во ввод. Этому в университете не учат. Представьте себе картину: большая комната, в ней стоят рядами столы, за каждым сидит программист. У всех столов в торце вбит гвоздь, а на нем висит пленка с программой, над которой сейчас работает сотрудник. Набитая программа, ненужная в данный момент в работе, хранилась в холодильнике, чтобы не пересохла. Однажды, когда потек холодильник и пленки намокли, молодой специалист по совету более опытных товарищей развесил их сушить на деревьях на улице. Это принесло много "радости" всем сотрудникам, особенно начальнику первого (секретного) отдела.
"Урал-2" - очень большая машина. Ее стойки занимали целую комнату. От работающей машины шло столько тепла, что около нее девочки-операторы иногда сушили волосы после мытья.
Когда я начинала работать в КБ, все его сотрудники были выпускниками физмата Педагогического института, но постепенно выпускать профессиональных программистов стали многие факультеты. Работников в отделе прибавлялось, возрос и объем работ. И хотя мы получили еще одну большую ЭВМ - М-220 и несколько малых, все равно машинного времени на всех не хватало. Компьютер тогда использовался для решения вычислительных задач, благо, их было много. До сих пор помню свою первую задачу - решение системы дифференциальных уравнений методом Рунге-Кутта.
У окружающих доверие к результатам вычислений на ЭВМ пришло далеко не сразу. Так, в бухгалтерии зарплату, сосчитанную на машине, долго проверяли на счетах.
Коды всех названных ЭВМ были разными, то есть программу, написанную для одной, другая не понимала. Но объединяло их одно общее: взаимоотношения "железа" и человека. Связью между ними служил только язык кодов, поэтому человеку все время приходилось думать, почему машина его поняла не так.
Кроме больших машин производились и малые, например "Наири", на которой мне пришлось поработать позднее. Все они были ламповыми, но по мере развития радиоэлектроники ЭВМ стали полупроводниковыми. На смену М-220 пришла М-20. Появились алгоритмические языки, первым из которых для меня стал "Алгол".
Хотя со временем надежность ЭВМ повысилась, трудности остались прежними: долгий процесс переноса программы в память машины, дефицит машинного времени.
Этап второй. ЕС ЭВМ (Единая Система ЭВМ). Это примерно 1975 год. Тогда я уже вернулась в родной город Горький и начала работать в другом конструкторском бюро. Однажды сотрудников нашего КБ отправили на ВДНХ на выставку вычислительной техники США. Самые яркие впечатления от нее: розовые и голубые пиджаки американцев (мы все - в сером и коричневом) и "широкая печать". (Ширина нашего печатающего устройства была во много раз меньше, чем у американского.) Через некоторое время после выставки программисты СССР начали переучиваться на различных курсах по эксплуатации ЕС ЭВМ. Сама я училась в 1975 году в Харьковском институте радиоэлектроники на курсах по эксплуатации ЕС ЭВМ, в 1978 году - в Ленинграде на курсах "Математическое обеспечение ЕС ЭВМ". Кроме этого несколько раз ездила в Москву на краткосрочные курсы и семинары, где встречались программисты со всей страны. Нас, программистов, становилось все больше. Однажды я с моей московской подругой ехала в метро на какой-то семинар по вычислительной технике в МГУ. Огляделись вокруг, а в вагоне - одни "программистские" лица. Действительно, профессия накладывает отпечаток: где только позже, во время крутой перестройки, не приходилось их встречать! Но это было потом, а пока мы учились, причем учиться было чему, это был другой уровень.
Кроме близкого к кодовому языка "Ассемблер" нужно было освоить алгоритмические языки "Фортран", "PL/I". Сначала они показались более трудными, чем кодовые, но вскоре мы поняли, в чем их прелесть. Алгоритмические языки - машино-независимые. Предложения в них строятся по строгим правилам, специальная программа - транслятор переводит запись алгоритма на машинный язык. Главное, что появилась Операционная Система, которая управляет работой ЭВМ. Она стала главным соратником пользователя. Несколько лет шла эксплуатация ЕС ЭВМ, ЕС-1020 заменили ЕС-1030. Носителями информации оставались перфокарты, магнитные ленты, магнитные диски. Когда я сейчас беру в руки дискетку, то вспоминаю ее предка, магнитный диск. Какие танцы мы устроили в какой-то праздник между накопителями на магнитных дисках, когда винегрет подавался в крышках от магнитного диска! Это было большим нарушением, ведь для нормальной работы машины требовалась чистота: сменная обувь, белые халаты, протирка спиртом всего и вся, а тут столько народа набилось в машинный зал, и допущенные и нет.
Этап третий. Виртуальные машины. Эпохой максимальных удобств для программиста можно назвать время, когда появилась операционная система "Виртуальная машина". Она предназначалась для множества пользователей, но у каждого программиста, сидящего за своим терминалом (дисплеем), создавалась иллюзия, что лишь он один пользуется ресурсами ЕС ЭВМ. С терминала пользователь набирал программу, запускал ее, вносил необходимые изменения и снова запускал, пока не получал результат. Все происходило гораздо быстрее и приятнее, чем раньше. Это была вершина, жаль только, что третий этап оказался самым коротким. Только запустили систему "Виртуальная машина", как все и кончилось.
Этап четвертый. Персональные компьютеры. Так началась революция, которая отправила на свалку ЕС ЭВМ вместе со всеми наработками. Сначала появились отечественные персональные компьютеры ЕС-1840, ЕС-1841, потом - импортные, новые алгоритмические языки: "Турбо Паскаль", "СИ". Языки - это не страшно, изучили. Трудность была в другом: из-за слабой операционной системы новые ПК не могли взаимодействовать с большими машинами, и архитектура у них была совсем другая. Но они пришли, победили и заняли все. Про них тоже есть что рассказать, но это будут делать другие люди.
Послесловие от редакции
Тем из наших читателей, кто хочет более подробно ознакомиться с историей ЭВМ в СССР, ощутить вкус и волнение ныне забытых поражений и побед, мы рекомендуем обратиться к подшивке журнала "Наука и жизнь" за 1963-1996 годы. А именно: 1963 г., № 3; 1965 г., № 7; 1966 г., №№ 9, 10, 11; 1967 г., № 7; 1969 г., № 7; 1970 г., № 7; 1971 г., №№ 1, 8; 1973 г., № 7; 1974 г., № 2; 1976 г., № 8; 1977 г., №№ 1, 9; 1978 г., № 2; 1981 г., № 1; 1984 г., № 10; 1986 г., № 4; 1987 г., №№ 4, 7, 8, 12; 1990 г., №№ 4, 10; 1994 г., № 4; 1996 г., № 12.
Читайте в любое время