Начало. Из записок программиста

"Дорогой сын, я
 не стал этим и не стал тем,
я передам тебе свой опыт".

М.Жванецкий

Посвящается А.Н. Кузнецову

Раньше, во времена моей молодости, если в Москве идти по улице Герцена, вниз к Манежной площади, то где-то за консерваторией, на перекрестке улиц Огарева и улицы Семашко, с левой стороны, в глубине палисадника можно было увидеть красивейший старинный дом, который в народе назывался домом Меньшикова. С тех пор улицам, поменяли названия вернув прежние. Улица Герцена вновь стала Большой Никитской, Огарева Газетным переулком, а улица  Семашко  Большим Кисловским переулоком. Дом Меньшикова был застроен и на месте палисадника сейчас стоит невысокий современный дом.
В восьмидесятых годах прошлого века, в доме Меньшикова находилось наиважнейшее для каждого москвича  учреждение - Комитет муниципального жилья или в разговорной речи  КМЖ. Да, да в этом учреждении занимались именно квартирными вопросами москвичей.
В этом здании наш Научно Исследовательский Институт, видимо имея какие-то особые отношения с КМЖ,  арендовал  старинные подвалы, часть второго этажа и еще квартиру в подъезде пристроенного в притык дома. К тому моменту институт существовал уже где-то лет восемь и занимался разработкой информационных систем на базе только-только появившихся универсальных вычислительных машин. Вообще институт арендовал по всей Москве множество мест. В основном это были здания школ, которые назывались территориями и различались по номеру. У нашей был номер шесть.
*****
Системотехника — направления науки и техники, охватывающей проектирование, создание, испытание и эксплуатацию сложных систем технического и социально-технического характера.
***
Системный анализ — метод исследования и создания сложных систем.
*****
Я, тогда молодой, недавно выпустившийся инженер одного из московских вузов попал по распределению в НИИ, имея довольно редкую для того времени квалификацию инженера-системотехника. Признаться по выпуску,  я едва осознавал что такое системотехника, впрочем совершенно не переживая по этому поводу,  будучи уверен, что мои вузовские преподаватели  столь же  смутно представляли себе эту область знаний. Сейчас, прожив долгую и вполне успешную профессиональную жизнь, я берусь написать книгу с названием "Системный подход и системный анализ для чайников", тем более, что стал подмечать что в авторефератах кандидатских и докторских диссертаций, от педагогики до медицины, эти словосочетания, то и дело зачем-то мелькают, без всякой связи с окружающими смыслами и все время кажется, что пишущие, выгодно поддавшись моде, там и сям суют популярные  словечки.
Я полагаяю, что поскольку название моей специальности было несколько туманным для кадровиков, меня предусмотрительно определили  в теоретический отдел нашего института, который куририровал непосредственно директор.

Теоретический отдел

Исходя из общих соображений понятно, что теоретический  отдел должен заниматься вещами обобщенными, абстрактными, выбирая  направления и ставя перспективные задачи перед коллективом института. И конечно для этого должен быть подобран подходящий коллектив. Кадры решают все?  Кадры решают все! Как я сейчас понимаю, коллектив теоретического отдела был подобран по вполне формальным критериям. Он  просто состоял из кандидатов всяких и всяческих наук, высокопоставленных в прошлом военных и нескольких ведущих инженеров без опыта. В общем это была та еще шайка.
Вспоминая мое недолгое пребывание в теоретическом отделе в памяти всплывают лишь отдельные персонажи нашего недружного коллектива,  которые тогда произвели на меня, как сейчас оказалось, неизгладимое впечатление. 
Помнится был там кандидат психологических наук, который писал небольшие ловкие статьи в закрытых журналы. Эти, примерно с журнальную страницу тексты, обладали какими-то волшебными свойствами. Волшебство их заключалось в том, что прочитавший,  как ни силился потом вспомнить содержание статьи то никак не мог этого сделать. Люди памятливые еще могли воспроизвести начало текста, середину текста, чего кстати, в иных ситуациях было вполне достаточно, но вот обычные люди, прочтя, только мотали головой пытаясь сообразить о чем шла речь. Прочтя статью снова,  они с удивлением осознавали, что смысл статьи и на этот раз удивительным образом ускользнул от них. Третий раз, щадя свое самолюбие  читать никто не брался соглашаясь с хором в том что, статья вполне дельная.
Вспоминается и все время одетая в синий шерстяной костюм молчаливая замкнутая женщина оказавшаяся историком. Она все время что-то напряженно писала, только иногда вдруг замирала подняв голову от письма и отрешенно вглядывалась в себя. Наверное, странность ее поведения объяснялась порученной ей работой. Будучи кандидатом исторических наук она исследовала и пыталась формализовать принципы принятия решений В.И. Лениным. На ее столе стояли стопки пятого-синего издания трудов В.И. Ленина так знакомого еще со студенческой скамьи. Может быть, одиноко расхаживая по нашему маленькому суетному коридору, она понимала что занимается совершеннейшей чепухой.
Рядом со мной в комнате сидел высокий, сухой, с внушительными усами, пожилой но вполне себе бодрый дядька,  контр-адмирал в отставке. Глядя на него, непроницательному наблюдателю, могло показаться, что он, занятый своими мыслями все время что-то старательно обдумывает.  Но вот  я, его молодой и смешливый коллега, был совершенно уверен в том, что разум его всегда был чист а дух безмятежен. По утрам он доставал из секретного портфеля секретную тетрадь. Листая ее секретные страницы он не торопясь ее просматривал. Однажды подглядев, я увидел в тетради замысловатые неведомые схемы, аккуратно нарисованные цветными карандашами. Пояснения к схемам тоже были написаны крупным, округлым, необыкновенно аккуратным почерком. В обед он всегда доставал из маленькой носимой на запястье сумочки, в народе называемой барсеткой, кусок черного хлеба и сваренное в крутую яйцо. Все это неторопливо и акуратно съедалось по окончании запиваясь кружкой жидкого сладкого чаю, который он наводил из стоящего в коридоре блестящего стальными боками титана. Затем он шел  прогуляться на улицу. Находившись за обед по магазинам и устав, адмирал садился за свой стол  и безмятежно засыпал. Опасаясь неловкости я взял на себя труд будить его быстрым трясением стула в те моменты, когда наш энергичный начальник вдруг решал размяться и походить по комнате.
Наш начальник был специалистом в области, бог знает в какой области он был специалист. Неуемная энергия, непоседливость ключом била в этом человеке. Он все куда-то бежал, рвался. То непрерывно названивал по телефону  заказывая разъездную институтскую волгу, то выравнивал столы по веревочке, подобно тому, как по утрам это делают солдаты в армии под присмотром требовательного сержанта.
Прочие же мои товарищи которых счетом было никак не менее двадцати вовсе мне не запомнились.
Поболтавшись так в отделе с год, занимаемый неясными и явно не важными делами, и по причине юного максимализма наполнившись в душе совершеннейшим презрением к коллегам я  запросился куда-нибудь в другое, боле практическое место. Просьба о переводе была воспринята с некоторым недоумением и меня, с глаз долой перевели в отделение занимавшееся эксплуатацией вычислительных машин и прочими вспомогательными для института делами. В частности, отдел в который я был направлен, разрабатывал  программу по подбору вариантов обмена жилой площади, которые публиковались тогда в популярной у москвичей газете «Бюллетень по обмену жилой площади».

Шестая территория

Профессию программиста я пожалуй не выбирал, просто начав заниматься тем, чем занимались окружающие меня люди.
 Свою первую программу я не имея других навыков, написал на бумаге. Задание было, проверить заданный  массив на цифры. Что такое массив я уже не понимал, но молодость дерзновенна и полна энтузиазма. Программу я писал долго. Может месяц, а может быть и дольше. Впрочем в то время никого не торопили. Оказалось, что бы написать эту простую программу потребовалось освоить колоссальный пласт знаний, являющийся контекстом ситуации. 
 ***
Язык ассемблера (англ. assembly language) — машинно-ориентированный язык программирования низкого уровня. Его команды прямо соответствуют отдельным командам машины или их последовательностям ...
***
Универсальные языки программирования высокого уровня тогда конечно существовали. Ну там кобол, фортран, пиэль. В нашем подразделении об этих технологических новшествах конечно знали, но то ли денег на магазинные книги жалели, то ли еще что. Внушаемая авторами этих книг мысль, о том что, написать и модифицировать программу на языке высокого уровня проще и быстрее у опытных инженеров вызывала сильное сомнение и поэтому свои программы  все писали на рядовском ассемблере.
На ассемблере программы работают быстрее, быстрее некуда, это-же просто машинные команды и памяти они занимают мало. Это при нынешней-то почти бесконечной скорости вычислений и безграничной памяти машин, подобные "мелочи" мало кого волнуют и визуальное программирование рулит. Тогда условия были другими.
****
К.Джермейн Программирование на IBM/360.
Учебное пособие по обучению (и самообучению) программированию для вычислительной системы IBM/360. Помимо описания общих принципов работы ЭВМ и программирования читатель здесь найдет ...
****
 Единственный доступным источником знаний была техническая документация  и  конечно Джермейн. Боже мой Джермейн. Недавно я видел эту книгу в разделе антикварных книг на Авито. Джермейн, это такая толстая-претолстая книга по программированию. В ней много рисунков, фотографий и картинок. Сейчас бы ее назвали "Программирование на IBM/360 для чайников". Кстати К.Джермейн это женщина.
****
Перфекционизм — ... убеждение, что идеал может и должен быть достигнут. ... — убеждение,что несовершенный результат работы не имеет права на существование...
****
Гостовская техническая документация. Вы помните ее? Вы помните эти  толстые тома в добротных, розовых, серых пластиковых переплетах, этот не привычный,  не похожий на книжный язык. Эти бесконечные детали и подробности рассеивающие внимание. Чтобы выудить из этих книг хотя бы  толику полезного смысла  было необходимо сильно потрудится, вновь и вновь читая и перечитывая одни и те же страницы, рисуя схемы, задавая коллегам "дурацкие вопросы", незаметно наживая профессиональный перфекционизм и тягу к спиртному. Мне техническая документация напоминает природу. Она не прячет своих секретов но и не предлагает интерпритаций. Свой взгляд на предмет ты строишь сам. Впрочем ты никогда не оставался один на один с обстоятельствами. Существовавшая в то время кадровая политика, предполагала, что каждый молодой инженер пришедший работать на предприятие прикреплялся к более опытному и старшему по должности, в обязанности которого входило отвечать на всяческие профессиональные и производственные вопросы новичка, помогая ему адаптироваться в коллективе и профессии. Моего куратора звали А.Н.К. или просто К.
А.Н. был начальником сектора, кому понятнее - лаборатории. Среднего роста, худой, неразговорчивый. В общении жесты и междометия почти заменяли ему речь, ведь понимание и способность описания явлений суть два разных дела, а общение не сводится к произнесению слов. Впрочем здесь я говорю совсем уж банальности.
****
Пультовая пишущая машинка относится к устройствам непосредственной связи оператора с ЭВМ. Она позволяет вводить команды в ЭВМ с клавиатуры пишущей машинки с одновременной их печатью на бумаге, а также получать на бумаге сообщения из ЭВМ о ходе решения заданий. 
*
Перфокарта — носитель информации из тонкого картона, представляет информацию наличием или отсутствием отверстий в определённых позициях карты. Наиболее широко применялись во второй половине XX века для ввода и хранения данных в системах автоматизированной обработки информации.
****
Я вновь и вновь засовывал в устройство чтения перфокарт тоненькую пачку своей первой программы. Затем быстрым шагом шел к пультовой пишущей машинке, которую мы программисты неточно  называли консолью, которая  должна напечатать, что задание поставлено в очередь, время приоритет, еще что-то. Машинка молчала. Молчала она уже давно. Раз за разом, день за днем в течении наверное  нескольких недель я проделывал одни и те же действия. Перфокарты в приемник, прижать, пуск, бегом к консоли. Ничего. У меня уже была последняя стадия,  принятия неизбежного. Да, я стану таким как большинство. Буду читать книжки на работе, сплетничать о более успешных коллегах, обсуждать в курилке новые песни Антонова, скрупулезно проверять бумажку с зарплатой, лебезить перед начальником, делить заказы.
Судьба смилостивилась надо мной примерно через три недели от начала моих мытарств, явив себя, что бы подправить мою судьбу, в лице малознакомой программистки.
Проходя мимо она отчего-то обратив на меня внимание, замедлила шаг и остановившись стала наблюдать за моими действиями. Когда я в тысячный раз проделав все манипуляции нажал наконец кнопку пуск и замер в ожидании чуда, она покосившись на меня, быстро порылась среди десятка брошенных на столе перфокарт и найдя видимо какую-то особенную, вставила ее в аппарат и нажала нет не кнопку пуск, а соседнюю, на которой было написано "Конец картотеки". Консоль тут же ожила. Со своего места я видел как она прокрутила строку, затем  откатив каретку назад застрекотала. Прочтя  текст я прямо обмер. Сама машина написала мне. что моя задача встала в очередь и вот прямо сейчас будет исполнена. Мама родная, охренеть. В чем была моя ошибка? Тогда я не знал что, возможно ввести сколько угодно перфокарт и машине необходимо было когда-то дать знать, что перфокарт больше не будет, так как программа уже полностью введена. Для этого и была нужна особая кнопка и специальная перфокарта.  К тому моменту у меня на столе уже скопилось несколько томов документации  с описанием процедуры ввода перфокарт, но видимо я или еще не дочитал до нужного места, или по невнимательности что-то упустил или не понял. Ну что ж, хоть не без помощи, но все равно, первый шаг по этой дороге мной был сделан.
Вообще всей этой канители предшествовала еще одна забавная история которую необходимо упомянуть. Как я уже говорил, помещение в котором мы обитали находились на первом этаже самого обыкновенного жилого дома пристроенного в притык к зданию КМЖ. И одна  из квартир на первом этаже была переделана в офисное помещение.
Однажды, в те времена с курением было попроще, открыв дверь на лестничную площадку мы стояли и курили о чем-то разговаривая. В какой-то момент, наше внимание привлекла группа людей, которая спуская что-то с верху тихо и  раздраженно переговаривалась. Пианино тащат - предположил кто-то. Когда группа приблизилась, мы увидели что тащат никакое не пианино, а гроб. Гроб был открыт и мы увидели лежащую в нем старушку с покойным и сосредоточенным лицом. Вопреки всем правилам гроб со старушкой почему-то несли головой вперед. Таким образом команде представляющей покойную, перед выносом гроба из дверей дома было обязательно нужно как-то развернуть его. Увидев открытую дверь нашего офиса, мужики понимая что возражения вряд ли последуют уверенно занесли гроб в наш коридор, развернулись под ним не отпуская рук и быстро вышли. 
Провожающие стояли у подъезда, там уже, были приготовлены невесть откуда взявшиеся две солдатские табуретки, что бы поставить гроб для недолгого прощания, а не в далеке стоял пазик с открытыми дверями и не заглушенном мотором.
****
Досмотрев всю эту сцену уже из окна нашей комнаты, я заторопился в машинный зал располагавшийся в соседнем подъезде на втором этаже. У подъезда стоял  К. о чем-то разговаривая  с коллегами. Утром мы с ним виделись и я, кивнув головой начальнику нырнул в подъезд. Сейчас, на склоне лет, вспоминая эти событиях я допускаю, что новичкам, занявшим не свой путь, судьба посылает всяческие знаки, намекая на ошибку в выборе, но кто в молодости умеет читать эти знаки.
Быстро войдя  в подъезд, я спотыкнулся и все что было у меня в руках мгновенно  разлетелось по полу. Книжки, листочки бумаги с записями и главное колода перфокарт с программой, все оказалось на полу. 
Надо сказать что перфокарты в колоде, составляя программу, следуют строго в определенной порядке и поэтому, после того как я собрал все с пола  у меня в руках оказалась уже не программа, а собранные в пачку несколько  десятков разрозненных перфокарт  и что с этим всем делать я решительно не знал. Совершенно расстроенный я вышел из подъезда. К. вопросительно посмотрел на меня поскольку стоя рядом с подъездом, слышал и шум разлетевшихся бумаг, и мои чертыхания. Выслушав, он  взял у меня разрозненную колоду перфокарт. Он доставал из пачки перфокарту за перфокартой,  картинного поднося каждую вверх, с секунду ее  разглядывал  после чего подсовывал перфокарту в нужное место колоды веером лежащей у него в руке. Все происходящее казалось мне невероятным фокусом. ........
    Продолжение следует


Рецензии