Добавить в цитаты Настройки чтения

Страница 2 из 11

В том, что он это может, у меня сомнений не было. Я вполне представлял, что умеет инженер такого класса, как он или мой папа. Но чтобы за пять минут, да такое сложное промышленное здание… Невозможно.

– Да ладно, за пять минут. За вечер, вдвоем с папой, может, и сделаете прикидочный расчет. А за пять минут – нет. Здесь же одних нагрузок десятки. И часть из них динамические – станки, мостовые краны.

– Статические, динамические… Ты время засекай.

Ровно через пять минут передо мной лежал листок, исписанный четким инженерным почерком: перемещения и напряжения в основных узлах системы.

Я развернул рулон с расчетом. Все совпадало, с точностью до 5 %. Стандартная инженерная погрешность!

– Может, тебе сказать, какую арматуру вы насчитали в колоннах и балках? – продолжал насмехаться дядя. – Так для этого мне и пяти минут не надо. Без логарифмической линейки, заметь. Даже считать не придется, и так знаю.

Слов у меня не нашлось. Это и было то самое Гун-Фу, высшее мастерство, которое могло присутствовать во всем: умении строить, лечить, учить, подметать, убирать мусор, мыть посуду. Тут дело было не в том, что человек делает, а в том, как он это делает.

Разумеется, такого Гун-Фу у программиста, который разрабатывает программу, в принципе быть не могло (у него свое Гун-Фу, он чувствует не инженерную конструкцию, а программу). Он действует совершенно иначе – запускает тестовый пример и торжественно приносит результаты инженеру: «смотри, работает». И не удивляет его, что балка под воздействием собственного веса прогибается не вниз, а вверх. Программа же функционирует, результат выдает, а что знак перепутал, ну так это дело «житейское».

В проектном институте, где я работал, в те времена при власти находились умные люди (такое нечасто, но случается), которые решили, что математики и программисты в штате тоже будут, но основная работа по созданию программ ляжет на инженеров.

Вышло все на диво легко. Обучить инженера языку программирования оказалось совсем просто (кстати, попытки решить обратную задачу – сделать из программиста инженера – оказались безуспешными), так как для этой цели брали самых молодых, сразу после института или после армии, как меня. Так что устроившись на работу, я сразу начал «работать на машине». Иностранное слово «компьютер» тогда было не в ходу, и «работать на машине» на нашем языке означало не перевозить пассажиров и грузы, а идти в машинный зал отлаживать программу.

Машзал помещался на первом этаже. Это было вполне логично, потому что все устройства машины весили сотни килограммов. У нас даже была самодельная тележка с колесиками из больших подшипников, на которой мы перевозили всякие тяжести. Тяжестей было много, так как все было из настоящего железа и огромных размеров. Сколько весили дисководы лентопротяжки, я не помню, помню только, что рулон бумаги для АЦПУ (алфавитно-цифровое печатное устройство, которое потом облегчилось в сотни раз и стало называться принтером) весил семьсот килограммов.

Для его скатывания с грузовика и перетаскивания по лестнице в подвал (где его потом резали на меньшие рулоны) у нас был набор специальных досок, веревок и подпорок в виде небольших клиньев. Когда я впервые принял участие в «отволакивании» рулона, я понял, как строились египетские пирамиды. Размер и вес блока там, конечно, были побольше, но «набор начинающего грузчика» был наверняка тот же самый: веревки, блоки, рычаги, салазки.





Сам машинный зал был местом, куда не всякий мог войти. В те времена там стояла святая святых – машина «ЕС ЭВМ-1022», на которой я и начинал работать. Святая святых потому, что для ее получения нужно было разрешение Госстроя СССР, которое просто так и какому попало институту не давали.

Кстати, по тем временам машина была современнее некуда. Начали их выпускать в 1975 году и нашей было всего год-два. Гордость института!

Тем, у кого на столе стоит ноутбук, оперативная память которого в сотни, а то и в тысячи раз больше, чем у «ЕС 1022», трудно представить, что для машины, оперативная память которой составляла 128 килобайт (на жаргоне «128 кило»), требовалось помещение размером с хорошую трехкомнатную квартиру. И это не считая отдельного отсека, где стояли дисководы, в которых помещались магнитные диски емкостью 7,25 Мбайт. Такой диск (с памятью в сотни тысяч (!) раз меньше тех, что ставят сейчас в ноутбуки) имел диаметр около 40 см и высоту 20 см.

Все это добро очень грелось, и его требовалось весьма интенсивно охлаждать. Поэтому было предусмотрено еще одно, смежное помещение, где помещались мощнейшие советские кондиционеры, которые гнали в зал потоки ледяного воздуха.

Надежность сооружения, носившего гордое имя «Единая система электронных вычислительных машин» (ЕС ЭВМ), была просто потрясающей. Время наработки на сбой составляло примерно тридцать минут. Попросту говоря, каждые полчаса машина «зависала» и надо было звать кого-то из электроников, которые «жили по соседству», дверь в дверь с машинным залом. На зов приходил один из них (всего их было человек пять, так как работали они посменно, чтобы обеспечить круглосуточную работу машины) и производил «ремонт». Процедура ремонта чаще всего производилась в две стадии. Первая заключалась в том, что надо было нажать кнопку «Загрузка». Эту операцию иногда разрешалось производить даже нам, никого не вызывая. Вторая стадия требовала уже серьезных знаний не просто машины, а именно этой машины. Она заключалась в том, что электроник (руководствуясь какими-то совершенно непонятными непосвященным соображениями) обходил машину и пинал (или бил кулаком) ее в какое-то место. К удивлению, такие вещи очень часто срабатывали. Если это не помогало, использовалась еще одна операция: вытащить какой-то блок и вставить его обратно. Этого, как правило, хватало.

В самых серьезных случаях нам говорили: «Ребята, это надолго», что означало, что минимум полдня мы на машине работать не будем.

Комната, где сидели мы, помещалась на третьем этаже. Это было правильно, потому что нам не надо было все время бегать в машзал, как электроникам. Каждому из нас выделяли так называемое машинное время, количество которого отмерялось (впрочем, очень либерально) начальством в зависимости от важности, сложности и срочности выполняемой работы. Ну и, разумеется, в зависимости от личных отношений. Обычно это было минут по двадцать – тридцать до и после перерыва.

Режим работы получался такой. Полдня думаешь, пишешь новую программу или ищешь ошибки в уже готовом фрагменте кода. Потом идешь в перфораторную и «набиваешь» программу на перфокарты, которые представляли собой небольшие продолговатые карточки, сделанные из очень тонкого глянцевого картона прекрасного качества. Когда годы спустя я начал преподавать студентам, у них уже были персональные компьютеры и перфокарт никто в глаза не видел. Поэтому я носил одну с собой и показывал им, что такое тоже было. Потом, правда, потерял.

У каждого из нас на столе лежала пачка таких карт, мы их использовали как бумагу для заметок. Кстати, ничего лучшего для этой цели я с тех пор не видел. «Бумага для заметок» – это было их «народное» использование (благо их было какое-то совершенно невообразимое количество – ящики с ними стояли по всем углам перфораторной). А положено было их использовать для того, чтобы «набить» на них программу.

«Набивалась» программа с помощью так называемого перфоратора, который представлял собой что-то вроде пишущей машинки, только вместо того, чтобы печатать буковки на бумаге, он делал прямоугольные отверстия в перфокарте. Определенная комбинация таких отверстий обозначала символ (букву или цифру). Чем больше была программа, тем толще была пачка («колода») перфокарт, на которых она была «набита».

И хотя программировать я не любил (да, наверное, на профессиональном уровне и не умел), десятилетия работы «при машине» сформировали весьма своеобразный подход, который приучал сначала основательно думать, а только потом делать. Еще бы: всего полчаса машинного времени, которое к тому же легко может пропасть из-за неисправности машины. Поэтому к выходу на машину принято было готовиться очень серьезно. Что-то неправильно, ошибся и иди снова полдня думать. А программа когда должна была заработать? Правильно, вчера.