Всвязи с подорожанием бензина, PRIMUS продается за наличные.
 
( Объявление в комнате разработчиков диалоговой системы PRIMUS)
 
 
 
ЭВМ И ЕЁ ОБЩЕСТВО
 
     Вы решили стать программистом? Ваш выбор прекрасен! Это современное, модное, интеллигентное занятие.
 
     Работа, не пыльная, звучит красиво: старший математик-программист, или ведущий конструктор АСУ, или заведующий бюро разработки и тиражирования программного обеспечения.
 
     Дело стоящее! Белый халат дают, не в закопченом цехе будете вкалывать, а творить в Вычислительном Центре. Чувствуете грандиозность? Что-то вроде места, где подводят итоги всему. Святая-святых! Чистота, кондишн. Посторонним вход строго воспрещен! Но ты, главное, не бойся. Не боги там работают. Ну, если тебя взяли, сам понимаешь. Со временем будешь в это святилище в ботинках  с землей  заходить.
 
    Работать можно! Прогрессивку платят, начальство уважает. Ну, раз в  месяц пошлет (на помидоры), так два ведра привезти можно. А если с ребенком поехать, так и все четыре. Опять же отгулы: за полдня в поле - два дня за себя, два дня за ребенка, чтоб он был здоров!
 
     Так что приступай! И не слушай этого нытика, что говорит будто и здоровье потеряешь, и психической болезнью заболеешь, и нормальный языком говорить разучишься, и дисплеи зеленые по ночам будут сниться, и дисководы не взаимозаменяемы, и ЭВМ арендовать приходится.
 
     Кому нужна его ЭВМ? Прежде чем с ЭВМ, пусть с людьми научится работать! Кибернетик. Главное в работе программиста, что? Иерархическая структура! Как говорится, люби своего начальника, и он полюбит тебя. Поэтому, первое, что тебе нужно сделать - это правильно выбрать себе начальника, т.е. место работы.
 
     Он - начальник, должен быть постарше и как можно дальше от ЭВМ, оно - место работы, поближе к дому и с большой премией. Смотри не перепутай!
 
     При выборе начальника следует внимательно осматривать его уши. Если они полностью увешаны лапшой, то тебе здесь делать нечего. Твое место уже занято. Не отчаивайся, переходи к осмотру следующего. Чего-чего, а их на твой век хватит!
 
     Итак, ты программист. Первой и самой важной задачей, которую тебе необходимо решить, является разработка и отладка алгоритма максимизации собственной прибыли при минимальных потерях здоровья.
 
     Это тебе удастся, если будешь пользоваться проверенными жизнью и ЭВМ правилами, которые я тебе, салаге, так и быть расскажу.
 
     Прежде всего на новом месте найди инженера-программиста лет так 25-27 с окладом 140 рублей, с интеллегентным лицом и печальными глазами. Он у них один делает половину всей работы. Ты у него, если тебя в конце концов заставят программировать, будешь консультироваться. Сразу как найдешь, вырази ему (наедине) свое восхищение, может, он за тебя и программы напишет.
 
     Но это запасной вариант. А ты поначалу старайся не то, что-бы прямо в программисты, а так, вроде бы в постановщики. Ведь программист - это кто? Слепое орудие, кодировщик. обыкновенный станочник. Я бы им зарплату урезал.
 
     Другое дело постановщики. Элита, мозговой трест. Алгоритмисты, аналитики. Творческие работники. Постановщик и программист - это как художник и маляр. С одной стороны - маэстро, фрак, бабочка в горошек, коньяк, "Marlboro", с другой - заляпанный халат, покраска забора, вермут, "Прима".
 
     В работе постановщика основное - глобальные идеи и масштабность замыслов. Не беда, если краски не хватит или парус одинокий, задуманный вдалеке на горизонте, займет все полотно, - маляры вывернутся! Достанут, подкрасят, замажут. Они, вообще-то, ребята ни-
чего, но вот эта мелочность ихняя меня прямо из себя выводит. То им видите-ли реквизит пропустили, то им ограничение не предусмотрели. Так бы и дал! Однако, справедливости ради следует сказать, нужно сдерживаться, Люди убогие, требуют снисхождения.
 
     Теперь, вот что. Смотри, не прошляпь момент распределения работ. Здесь нужно рвать и метать. Действуй локтями, зубами, ногами, но заполучи ту часть работы, которая выглядит наиболее внушительно, однако имеет большие шансы выродится (с твоей помощью) в нечто маленькое и простое.
 
     Получить именно эту часть будет не очень трудно, потому что мягкие белковые мозглячки, с которыми тебе предстоит совместно, так сказать, двигать прогресс, не посмеют возражать. Ты их главное локтем с улыбочкой, вежливенько так локоточком и ножкой.
 
     Улови момент, когда вся работа распределена и заяви, что несмотря на свою загруженность, учитывая общее тяжелое положение, ты готов взять дополнительное задание. Начальство прослезится и не забудет твоего героизма.
 
    Если же тебя все же вытолкнут в чистые программисты - не отчаивайся! И здесь можно жить. Я знаю массу людей, которые и здесь живут неплохо. Любое дело нехитрое, если подходить к нему умеючи.
 
    При решении любого вопроса старайся замутить воду и поставить дымовые завесы. Незаметно создавай обстановку неразберихи, постоянно звони по телефону (желательно междугороднему) и громко решай что-либо. Если оно в конечном счете окажется нерешенным - не беда! Ты сделал все, что мог, и все это слышали.
 
     При получении письменных заданий устраивай длительные обсуждения. Требуй увеличения сроков и уменьшения объема работы. Ссылайся на нехватку машинного времени, плохое качество алгоритма, слабое здоровье (свое и родственников), необходимость переделки ранее полученных заданий.
 
     Устные задания следует выполнять устно.
 
     Никогда не говори, что чего-то не знаешь. Лучше молчи, за умного сойдешь. Но если ЭТО знает только начальник, смело признавайся и громко обсуждай выдающуюся важность этого вопроса.
 
     Запомни несколько громких иностранных авторов книг. Здесь подойдут Мартин, Майерс или Фокс. В случае чего говори: " Гленфорд Майерс считает этот вопрос спорным из-за уменьшения надежности" или: "Джеймс Мартин пишет, что это может понизить эффективность схемы базы данных."
 
     Изучи структурное программирование. На всех совещаниях и перекурах обязательно вворачивай пару фраз о нем. Но ни в коем случае не применяй его в своих программах! Иначе будешь как тот, интеллигентный, что половину всей работы делает. Структурное программирование для таких и придумано. Вторая, мол, революция в программировании!
Программы, мол, для людей пишутся, а не для машин!
 
     Так-то оно так, но не для всех же людей, а для автора главным образом. Чтобы ему зарплату повысили, квартиру дали, путевкой не обидели. Ты свою программу на манер крепости неприступной строй, чтобы в нее чужие ни ногой, ни единой мыслью! Чтобы любой эксперт на ней мозги сломал. Никогда не разбивай программу на модули, иначе
в ней каждый дурак разберется.
 
     Программа должна быть монолитной, как бетонный блок. Такая кому хочешь ноги отдавит. Если же в ней больше тысячи операторов, то она кое-кого и на пенсию спровадит.
При программировании на языке ПЛ/1 (отличный язык, кстати) как можно чаще применяй атрибуты  DEFINED, BASED ( на ФОРТРАНе  оператор EQUIVALENCE) для обозначения одного и того же обьекта разными именами. Особенно хорош в этом случае BASED, поскольку он позволяет обзывать разные вещи одним именем и наоборот, а также в процессе работы все это очень миленько менять.
 
     Великолепных результатов при изготовлении непостижимых программ можно достичь путём широкого использования переменных типа метка. Для дальнейшего запутывания можно расставить в уже отлаженную программу несколько десятков операторов IF, ни один из которых не меняет порядка выполнения. Везде говори, что знаешь ассемблер.  Кто не
знает-не проверит, кто знает - тому некогда. В каждую свою программу встраивай одну и ту же где-нибудь списаную программу  на ассемблере. Это даст возможность писать в статьях и  документах что-то вроде: "разработка кросс-транслятора велась методом сандвича на языках ассемблер и ПЛ/1."
 
     Кстати о документации. Если тебя заставили сделать программу операторов на десять, то потребуй время на разработку полного комплекта документации к ней. Нужно не забыть выпустить: "Спецификацию", "Текст программы" (обязательно на магнитной ленте, чтобы никто не догадался о размере программы), "Описание применения", "Описание про-
граммы", "Руководство оператора", "Руководство программиста", "Руководство системного программиста", "Программу и методику испытаний". Если останется время, то не помешает "Описание языка" и "Пояснительная записка". Венчать труд должна "Инструкция по применению программной документации". На все это следует требовать ДВА ГОДА.
 
     Документация должна быть наукообразной и непонятной. Комплектность и ее состав должен в точности соответствовать букве ГОСТа. Постарайся прослыть знатоком ОРММ, ГОСТов, ОСТов, СТП и в особенности всякого рода малоизвестных распоряжений о правилах расстановки точек в датах и способов сокращения слова "таблица".
 
     Уделяй этим вопросам первостепенное внимание. Они важнее структурного программирования и надежности программ вместе взятых. Не давай себе ни малейшей поблажки! Окупится сторицей!
 
     В изобилии употребляй ученые слова: реентерабельный, оверлейный, реляционный. Особо пригодится слово "виртуальный", поскольку оно означает нечто, чего на самом деле нет.
 
     Широко применяй приставки типа квази-, пара-, гетеро-, гипо. Таким образом можно получить роскошные словосочетания вроде "гетерогенное мультиплексирование" или "парасистемный программист" (кстати, это означает король программистов, т.е. такой, который занимается копированием резидентного пакета с магнитного диска на магнитную же ленту и обратно).
 
     Если в процессе документирования ты обнаружил, что в программе перемножаются два числа и делается попытка разделить их на третье, то смело называй примененный метод эвристическим. Если используешь известный метод, называй его модифицированным.
 
     Программу, состоящую из десяти операторов, среди которых есть два оператора CALL, следует называть гибридным монитором. Большой ошибкой является применение слова "связь" вместо слова "интерфейс". Никогда не пиши "очередь". Вместо этого есть FIFO(first in - first out!). Подробно, во всех аспектах рассмотри в документации какую-нибудь второстепенную деталь, но обязательно опусти что-то весьма существенное. Обеспечь, чтобы программа работала только на контрольном примере. Заказчик приползет к тебе на коленях через два месяца после сдачи.

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

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

     Все это сделает тебя полновластным владельцем программы и превратит ее в твою пожизненную ренту.

     Сканируй пространство, нюхай воздух, оценивай обстановку. Догадывайся! Догадливым легче живется.

     На торжественных собраниях будешь в президиуме сидеть. Случись чего, начальник лично на автомобиле будет домой к тебе приезжать, просить, чтобы уважил, сдвинул какую-нибудь автоматизацию с мертвой точки. А ты особо гордым не будь, езжай!
     Если, конечно, назад привезет, премию подкинет и прочее.
 
     PS.
     Предлагаемое учебное пособие предназначено для вновь принимаемых на работу молодых сотрудников. Все совпадения со старыми, опытными кадрами редакционная коллегия просит считать случайными и ответственности за них не несет.
 
  
    Примечания автора.
 
     Давным-давно, я работал в Одесском ПКБ АСУ. Между собой его называли ПКБ в носу за расположение по каким-то подвалам, а также, видимо, за то, что изготавливаемые там программы были сплошь из соплей. Там и родился этот опус, поскольку ничего другого путного там родиться не могло.
 
     Время летит быстро, и вот уже среди моих молодых коллег есть такие, которые не видели ни ЭВМ "Урал-2", работавшую на электронных лампах (двойной триод от него был размером чуть меньше системного блока), ни даже ЭВМ ЕС-1022 с двумя дисководами по 7,25М весом по 100 кг каждый! Для них я и пишу сии примечания.
 
ЭВМ - электронно-вычислительная машина - компьютер эпохи социализма.
 
ЕС-1022 - такой компьютер, для обслуживания которого необходимы по штату:
1) начальник ЭВМ;
2) заместитель начальника ЭВМ;
3) начальники смены - 3 чел.;
4) старшие инженеры - 3 чел;
5) инженеры - 6 чел;
6) техники - 3 чел.
При этом ЭВМ все равно ни хрена не работала!
 
PRIMUS - (privacy machine using) - программа для ЭВМ единой серии, обеспечивающая соединение ЭВМ с дисплеями, например, ЕС-7906. Клавиатура от такого дисплея была сделана из лучших сортов стали и с ней можно было ходить на медведя.
 
Послать на помидоры - в те не очень далекие времена инженегров принудительно направляли на сельхозработы, где они поправляли здоровье, разбавляли кровь вином, влюблялись в прекрасных операторш.
 
Резидентный пакет - съемный магнитный диск, на котором хранилась операционная система. В начале мне было непонятно, как в эпоху холодной войны допустили этот термин. Ведь от него так пахло шпионами и ЦРУ! А теперь-то совершенно ясно, - ЭВМ единой серии были направлены к нам именно из ЦРУ, для развала СССР, который и произошел!
 
АЦПУ( алфавитно-цифровое печатающее устройство) - аппарат весом килограммов в 200, на котором печатали со скоростью 800 строк в минуту(!) совершенно невообразимую чушь.
 
ОРММ - общеотраслевые руководящие материалы. После материалов 25-го съезда КПСС была самой важной книгой для АСУшников и АСУпчиков. Что-то вроде библии.
 
Ну, вот и все. СССР и КПСС я пока не расшифровую.


 banrefe5.gif, 15K, REFRIGERATORRR!!!