Американская ария князя Игоря (не закончена) - Экслер
Шрифт:
Интервал:
Закладка:
Впрочем, Алла в конце концов поняла, что в этой области вызвать Сергея на откровенность не удастся, после чего и сама постепенно перестала касаться данной темы. Зато с удовольствием рассказывала о том, как у них с Вадиком наладились отношения. Для Сергея это не было неожиданностью - собственно, он и предполагал, что у Аллы с новым мужем все наладится. Ведь в этом новом семейном тандеме отношения также зависели от Аллы. Когда у нее был путь к отступлению, Алла пыталась поломать Вадика под свои весьма своеобразные жизненные принципы. Но Вадик, в отличие от Сергея, ломаться не собирался, и их семейная жизнь изобиловала перманентно возникающими скандалами. В тот момент расчет у Аллы был простой: или Вадика доломать под себя, или, если из этого ничего не получится, вернуться к навеки обломанному - как считала Алла - Сергею.
Однако когда выяснилось, что назад дороги нет, Алла осознала, что недоломанный, причем даже ненадломленный, но уже совершенно озверевший Вадик просто выгонит ее из дома, после чего резко сбавила обороты и позволила Вадику жить так, как он хочет. И вот тогда у них семейная жизнь сразу наладилась. Вадик так и не понял, что послужило причиной такой резкой перемены в поведении супруги, но, так как перемена была явно в лучшую сторону, предпочел долго не размышлять на эту тему.
Сергей же только порадовался тому, что у Аллы все наладилось. Во-первых, он к ней все-таки хорошо относился, несмотря на то что Алла в свое время истрепала ему все нервы. А во-вторых, хорошие отношения в семье у Аллы позволяли надеяться, что она перестанет думать о каких-то ренессансах.
Ну и теперь, когда угроза со стороны Аллы миновала, Сергей снова был предоставлен сам себе.
Надо сказать, что с выстраиванием своего довольно своеобразного холостяцкого быта Сергей справился вполне успешно. Видимо, хорошо сработал тот факт, что он привык работать дома, следовательно, умел организовывать самостоятельное существование - что в труде, что в отдыхе.
Работать дома он начал почти сразу после окончания Московского авиационного института. Ему просто повезло - это был первый год, когда не нужно было в обязательном порядке идти работать по распределению. По распределению работать Сергей не хотел - ему хватило наблюдений за работой отдела одного из "ящиков" Москвы во время написания диплома. А наблюдения были обширные и разнообразные...
Отдел был неплохой, люди там работали симпатичные, но практически все их трудовое время занимали питье чая, болтовня о просмотренных кинофильмах и прочитанных книгах, а также святая святых - розыгрыш продовольственных заказов. (Все-таки девяностый год - финальный аккорд счастливо умирающего Советского Союза.)
Сергея в отделе встретили с распростертыми объятиями - он еще с третьего курса серьезно занимался программированием, а программисты в те доисторические времена были на вес золота.
Что интересно, программистом в те годы Сергей становиться не собирался - его больше увлекали музыка и девушки, - однако в институте им на очередной РГР - расчетно-графической работе, - где нужно было решать уравнение третьей степени различными методами, сказали, что, кто сможет запрограммировать хоть один метод и получить решение на компьютере, остальные методы делать уже необязательно.
Сергей ненавидел считать на калькуляторе - на его взгляд, это было нудное, тупое и невероятно утомительное занятие. Поэтому он решил запрограммировать один из методов, хотя что такое программирование - даже и не представлял. В те годы в институте программирование не преподавали. Точнее, преподавали что-то древнее вроде "Фортрана", который потом никогда и никому не пригодился, да еще и для преподавания пользовались такими архаично-академическими методами, что Сергею из всего курса "Фортрана" запомнился только внушительный бюст преподавательницы, более ничего.
На вычислительном центре их факультета в тот момент активно продвигался Basic - новый язык, который получил горячего поклонника в лице начальника вычислительного центра. При этом Basic студентам не преподавали - было некому, так как бюстастые тетки с каменными лицами кроме "Фортрана" ничего не знали.
Поэтому Сергей поступил просто: достал у одного из знакомых приличный учебник по Basic, а когда пришло время ехать в вычислительный центр, вышел из дома, сел в метро на станции "Варшавская", где он в то время жил, раскрыл учебник и во время поездки до метро "Сокол", где располагался институт, увлеченно его читал. Явившись в институт, он отправился в вычислительный центр и там где-то за пару часов написал и отладил программу на Basic, которая решала уравнение третьей степени методом Берстоу. После этого для блезира он даже написал отдельную программу, которая оптимизировала стартовые коэффициенты.
Basic неожиданно оказался очень легким. Надо было врубиться в самую суть - переменные, присвоение или получение ими значений, простейшие операторы языка, - после чего оставалось только держать под руками справочник операторов - и вперед, пиши, что хочешь.
Преподаватель, принимая РГР, долго хвалил Сергея и ставил его в пример остальным, а когда увидел еще и вторую программу подбора коэффициентов, чуть было не расчувствовался и сказал, что Сергей очень далеко пойдет по стезе программирования.
Оказалось, что преподаватель как в воду глядел. Сергей всегда был ленив по натуре и предпочитал, чтобы его работу выполняли другие, так что с программированием они друг друга нашли: достаточно было написать несколько строчек кода, после чего компьютер, пыхтя, за несколько секунд решал сложнейшую задачу, избавив Сергея от многих часов возни с калькулятором. Сергею это нравилось. Компьютеру вроде тоже. Да и начальник вычислительного центра, куда Сергей ходил каждый день, убедившись в том, что парень действительно пишет какие-то программы, а не пытается распечатать на АЦПУ "Сказку о Тройке" Стругацких или "Николая Николаевича" Алешковского, дал Сергею неограниченное машинное время, что в те времена было большой редкостью.
После этого учеба в институте у Сергея резко вырулила фактически на пятерки. Во всех технических дисциплинах программирование использовалось очень активно, и преподаватели, ни один из которых программировать не умел, к Сергею относились с величайшим почтением. А на занятиях по марксистско-ленинской философии Сергей сидел на задней парте и тихо писал очередную программу: ему нравилось отлаживать код так, чтобы после запуска интерпретатор не находил ни единой ошибки, - в этом был его программерский кураж.
Правда, на пятом курсе Сергей пришел к выводу, что Basic, который вообще-то создавался как язык для обучения хорошему стилю программирования, этот стиль портит совершенно кошмарнейшим образом, после чего перешел на изучение Turbo Pascal, который тогда можно было найти только на первых персоналках. Однако на его институтские успехи это не повлияло, несмотря на то что Сергей совершенно забросил вычислительный центр: он уже прочно приобрел репутацию программерского гуру и преподаватели ставили пятерки даже за распечатки программ расчета биоритмов, которые Сергей нагло выдавал за решение очередной задачи.
В "ящике" на "Аэропорте", где ему предстояло делать диплом, программировали на языке Modula 2, который представлял собой улучшенный и расширенный Pascal. Впрочем, незадолго до этого там использовали тот же Basic, а внедрение Modula 2 шло с большим трудом. Сергею после Turbo Pascal на освоение Modula 2 потребовалось два-три часа, и в отделе на него смотрели с квадратными глазами, когда он в конце первого дня работы начал объяснять ведущему программисту некоторые особенности операторов Modula 2 для работы с матрицами.
Для диплома ему дали очень серьезную задачу - расчет какого-то уравнения с заранее заданными параметрами из "фильтра "Калмана". "Это, - внушительно сказал начальник отдела, - нужно будет запрограммировать. - На языке Modula 2", - добавил он для ясности. Впереди было четыре месяца напряженного труда, и Сергей решил, что успеет.
Сначала он расписал решение уравнения обычным алгебраическим образом. Получилась какая-то ерунда - уравнение решалось в десять строчек. Он понес показать листок начальнику, тот посмотрел и сказал, что все нормально - уравнение именно так и решается. Но вся суть в том, пояснил начальник, что это нужно запрограммировать. И тут Сергей понял, что в "ящике" к такой несложной в общем-то вещи, как программирование, относятся с еще большим пиететом, нежели в институте.
Он сел за стол и за пятнадцать минут набросал код программы. Получилось строчек двадцать. На одном листочке. Как это можно было считать дипломом, Сергей не знал: на его взгляд, задача никак не тянула даже на обычную институтскую расчетку. Он взял листочек и снова пошел к начальнику. Показал. Начальник, для которого код на Modula 2 выглядел как стихотворение на языке зулусов, слегка рассердился и объяснил Сергею, что тот больше не должен подходить советоваться по каждому промежуточному этапу. Задачу нужно запрограммировать, еще раз пояснил начальник. А это означает, что программа должна быть написана, внесена в машину (начальник имел в виду местный компьютер, располагающийся в вычислительном центре), отлажена, в результате ее работы должно быть получено правильное решение, после чего текст программы нужно распечатать, решение нужно распечатать, а если удастся получить какие-то графики - это уже будет просто на пятерку, хотя графики получить не удастся, потому что местный компьютер графики строить не умеет. Но графики, любезно пояснил начальник, можно нарисовать от руки. Карандашом. Или фломастером. Так что если вопросов нет, сказал начальник, - иди! Работай!