-Поиск по дневнику

Поиск сообщений в Искусство_войны

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 14.01.2010
Записей:
Комментариев:
Написано: 17353


История программирования в СССР. Часть II.

Воскресенье, 20 Мая 2012 г. 15:44 + в цитатник
все записи автора

007. Быт программиста. Призвание

Однако, вернемся к быту, к житейским мелочам. А то стал было рассказывать о перфокартах и... понесло меня из Тирасполя в Тверь, а оттуда – в подсчеты евреев на душу населения. Да что же это я никак не закончу о простейшей вещице, о кусочке желтого картона, на котором были размечены 80 колонок и десять рядов, да сверху два неразмеченных ряда – итого двенадцать… Два важных умения должны быть у советского программиста по части карт: читать их и «фиксать». Читать, это понятно что такое: взять карту и на просвет по дырочкам прочитать, что на ней пробито.

Примерно так

Я помню две системы перфорации. Одна применялась на БЭСМ-6: перфокарта заполнялась построчно, слева-направо и сверху-вниз; символ кодировался комбинацией пробивок в семи соседних позициях; каждая восьмая колонка была разделительной – в ней пробивок не было. Такая система частенько называлась «сидисишной», поскольку была позаимствована у фирмы Control Data Corp. С другой стороны, старики говаривали, что она использовалась еще на совсем древних машинах и была чисто советской разработкой. Поди сейчас разбери, кто прав... Для удобства чтения применялись «читалки» – это такие карты, у которых были пробиты все дырочки во всех колонках, кроме восьмой, шестнадцатой и т.д. И еще эти разделительные колонки для пущего разделения графились карандашом. Читалка накладывалась на карту, зоны символов четко выделялись и читались так же легко, как если бы текст был напечатан... Другая система применялась в ЕС ЭВМ и пришла, понятное дело, из IBM, которая разработала ее еще в двадцатых годах прошлого века. Там символ кодировался одной или несколькими пробивками в колонке, так что номер колонки точно соответствовал позиции символа в строке...

Бытует легенда, что при строительстве первых железных дорог в Европе их прокладывали по трассам старых еще римских дорог, вписывая в существующие габариты мостов и туннелей. Дескать, поэтому железнодорожная колея равна колее римской колестницы (и соответственно – ширине римской дороги), которая была законодательно стандартизирована еще Юлием Цезарем. А поскольку габариты всех перевозимых по железной дороге грузов (контейнеров, танков, ракет) определяются размером колеи, то и выходит, что определяются они артефактом двухтысячелетней давности (злые языки добавляют, что размером лошадиной задницы они определяются, ибо впрягаемая в колесницу пара гнедых аккурат вписывалась в колею)...

Вот так и в современных компьютерах продолжает жить артефакт XIX века – перфокарта. Все виденные мной текстовые дисплеи вмещали в строке ровно 80 символов – размер перфокарты. Сейчас, на громадном графическом дисплее видишь окно какой-нибудь программы: и сколько же символов можно ввести в поле? Кто бы сомневался – 80... Но вернемся перфокартам, точнее к кодировкам символов на них, которые определялись стандартом с малоприличным названием «ебздиц» (EBCDIC). Цифры там кодировались одной пробивкой в колонке, буквы латинского алфавита – двумя, прочие символы – тремя и более. Запомнить коды было легко, но... тяжело отслеживать саму колонку на карте, глаз легко мог перескочить на соседнюю. Читалки с вертикальной разграфкой мало помогали и их редко использовали. Короче, читать такие карты было занятием утомительным. Вы спросите, а на кой ляд их вообще читать? Правильный вопрос. У изнеженных американцев перфораторы вместе с дырочками еще и надпечатывали текст по верхней кромке карты. Но величие нашего народа в том и заключается, чтоб с изумляющей иноземца сметкой победно преодолевать собственноручное рукосуйство. Печатающий механизм в перфораторе, конструкция которого была цельнодранная с иноземного образца, сочли баловством, барской забавой и упразднили стараниями какого-то безвестного рационализатора (думаю, все шпионы, считая со штабс-капитана Рыбникова, все вредители, враги народа, включая «шакалящих у посольств» литераторов, все они вместе взятые не нанесли великой державе и тысячной доли того вреда, что учинили рационализаторы-изобретатели)...

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

Тут (в который уже раз) надобно пояснить несведущему читателю, а зачем вообще перфокарты надобно фиксать. Ведь дырочки в них пробиваются на клавишном перфораторе. Ну и чего бы оным не воспользоваться, не заменить всю карту? Эге, как это у вас, нонешних, все просто... Перфораторы, они где стоят? Правильно, в группе подготовки данных. А кодекс законов о труде (КЗОТ), он что гласит? Правильно, работа во вторую-третью смену разрешается только на предприятиях непрерывного цикла и на особо важных производствах. Ну, полная комната барышень, в ожидании женихов колотящих по клавишам, это что, особо важное производство? То-то же! И чего отсюда следует? А того, что ровно в 17:00 барышни идут домой, а все перфораторы – под замок. А ЭВМ, между прочим, работает круглосуточно, как особо ценный ресурс, и ты – программер – выходишь «на время», например, с 22-х до 6-ти утра. А перфораторы... вон там они, за запертой дверью. Конечно, если начальник ВЦ – человек, он один аппарат в машинный зал для нас поставит. А если он – советский человек, тогда... фиксай, программер, свои перфокарты.

Так вот, высокое искусство заключалось в том, что умелец читал карту, находил место, где надобно исправить, ловко вырезал недостающие дырочки (тут необходим был остро заточенный скальпель) и залеплял лишние, для чего использовался продукт жизнедеятельности перфоратора – маленькие, как опилки, картонные прямоугольнички, которые перфоратор «выбивал» из карты, делая в ней отверстия. У запасливого программера с собой была коробочка с этим добром. А нет, так подойди к «бармалею» – компьютерному перфоратору, нажми кнопку – он мигом тебе навалит пригорошню этих опилок. Так что, вперед, лепи. Но... только всухую! Использовать клей, слюнить палец – это безнадежное ламерство. Ловко прихватить на кончик пальца крохотный прямоугольничек (он приставал к пальцу, цепляясь к коже ворсинками картона), точно встромить его в отверстие и, повернув палец, загладить ногтем (при этом ворсинки по периметру стыка надежно переплетутся). На всю операцию – секунда. Кстати, иной раз попадали в руки импортные перфокарты – гладкие, твердые, глянцевые, точь как игральные карты. Так вот, в них дырочки не фиксались, хоть плачь. Видно материал был таков, что ворсинки по краям перфорации не образовывались. Как, думаете, американские программисты обходили это ужасное неудобство. Не поверите, они еще в 60-е все пересели за экраны дисплеев. Ну, и что эта расслабуха им дала? Как начали отваливать на Запад наши закаленные бойцы, так все преотлично там устроились, потеснив аборигенов. А почему? А потому, что все умели (спасибо родной Советской власти!), даже перфокарты фиксать голыми руками...

Заканчивая с картами, расскажу историю, приключившуюся со мной в Харькове. Это было одно из последних моих рандеву с ЕС ЭВМ. Приехали мы с напарником вечером, уже затемно – дело было поздней осенью. Дождище льет, не переставая. Дали нам адрес (инструкцию как добраться) какой-то металлобазы, где нас ждал компьютер и где мы могли за ночь все подготовить, а утром явиться уже на официальную приемку. На вокзале сели в автобус и долго-долго куда-то ехали. За окном, за сплошной пеленой дождя только огни витрин можно было различить. И по тому, как этих огней становилось все меньше и меньше, как все реже и тусклее светили уличные фонари, мы догадывались, что едем на какую-то окраину, за город, к черту на рога. А потом и вовсе чернильная мгла за окном; автобус остановился — «конечная» — мы вылезли под дождь. Ни души, промзона, сверху льет, под ногами хлюпает и мрак вокруг. Куда мы попали? Спросить не у кого. Оставалось точно следовать указаниям: триста метров вперед, свернуть направо... «Блин! Куда сворачивать, забор... А-а-а, вон туда»... Наконец, чуть ли не на ощупь, добрались вроде куда нужно – ворота, проходная. Стали тарабанить в дверь... К нашему изумлению дверь открылась. Стоит паренек: «Вы киевляне, конечно? Вот хорошо, я вас заждался... пойдемте скорей... машину я включил, она вообще-то рабочая, но немножко... с АЦПУ только осторожней, ладно?» — пока он без умолка тараторит, ведет нас вдоль бесконечных черных пакгаузов — «осторожно, тут рельсы... и тут» — наконец, подводит к какой-то двери, внутри свет — «ну все, заходите и я вас запру, а то тут скоро собачек на ночь выпустят... за вами утром шеф заедет, а мне надо бежать уже, последний автобус в город» — и был таков... Хорошее начало, а? Собачек, значит, выпустят. Куда же мы попали?

Такого машинного зала я в жизни не видывал – выгородка в пакгаузе, лишь кое-как, с большой натяжкой, смахивающая на помещение. Из худой кровли, сквозь фальш-потолок не капает, льет. Льет прямо на компьютер! На шкафах тазы стоят, на полу – тряпки брошены, воду собирать. А ведь это фальш-пол, под ним – наверняка в лужах грязной воды – кабельная разводка. Силовая, в том числе. Кругом мокро. И один стул за пультом. Один! .....! .. .... ....! Один стул на двоих и тазы с мокрыми тряпками. А мы-то, дураки, еще думали покемарить по очереди в гермозоне. М-да-а-а! Деваться некуда, начинаем работать – последние правки вносим, прогоняем тесты. Время от времени возимся с этими тазами, тряпками – куда денешься. Печатаем отчеты. Кончается пачка бумаги, надо вставить новую. Что там паренек говорил об АЦПУ? Осторожней? Ну ладно. Осторожно открываю дверцу, кладу новую пачку. Теперь надо бумагу пропустить под печатающий барабан, для чего следует нажать на рычажок, чтоб он слегка отодвинулся. OK, осторожно нажи... Бабах! Тяжеленная рама с приводом и барабаном (килограмм сорок, не меньше) обрушивается мне на ноги...

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

Под утро дождь перестал. Наконец, загрохотала дверь нашего узилища (собачек, видать, снова посадили на привязь) и появился лощеный хмырь – начальник. Мы бросились к нему – так и так, барабан отвалился, чуть ноги не покалечил, консоль вон сдохла, вода кругом, тряпки эти... Тут... вижу по глазам: ему это все... глубоко по барабану... и еще глубже. Цедит: «А-а-а, эту рухлядь списываем, в управлении новая смонтирована». Мы переглянулись – так-так, значит, есть новая машина, а нас сюда загнали. Не нашли, значит, никого, кто б с нами ночь посидел – лучше запереть подрядчика в мокром сарае под собачьим конвоем. Ладно, запомним, учтем... Меж тем хмырь подводит нас к новенькой «семерке» и... остановился, любуясь своей любимицей. Машина блестит, аж сияет чистотой, а ведь вчера лило весь день и всю ночь и грязи на дорогах... Это, значит, была охота вставать спозаранку и выдраивать, чтоб через час снова была в грязи. Ну-ну... Поехали. Разговор, точнее – монолог, об авто: эта «семерка» у него не «жигуль», а экспортная «лада», литраж увеличенный, какой-то моновспрыск на ней, еще навороты... «А вы на киевском авторынке на днях не бывали, почем там ...?» — «Да мы, признаться, не знаем, где этот рынок находится» — «А-а-а» — заметно поскучнел, потерял интерес. Приехали в офис. Вчерашний паренек там. «Ну вот, вы тут с Петей, покажите ему как и что. У меня, извините, дел сегодня... К обеду подскочу». Честно признаться, мы шокированы. Приемка – это и экзамен тебе придирчивый, но и ритуал торжественный. Чтоб начальник АСУ, кому это все эксплуатировать, вот так «на Петю» сбросил... А мы-то дурни старались – навернули им такую оптимизацию, язык запросов, генератор отчетов... Ну ладно, обучаем Петю. Время тикает. Когда же приемка? Наконец, к обеду появился: «Ну вот, акты – все подписано. Петя в курсе?» — «Да, Марк Семенович, я все посмотрел» — «Ну и славно. Я извиняюсь, столько дел сегодня, надо бежать. Счастливо, привет Киеву»... И это все? И это приемо-сдаточные испытания? Однако... Слышу за спиной: «Иван Иваныча машину в покраску повез»... И неудобно им при посторонних, и так же хочется шефу косточки помыть. В общем, вскоре диспозиция стала нам ясна: у мужика золотые руки – перебирает двигатели, рихтует кузова; покупает битые (после аварии) авто, восстанавливает, продает. Целая мастерская в гараже. Ну, и чего еще надо? Ремесло в руках надежное, деньги – какие инженеру не снились. Статус социальный не тот: быть «гаражным Мариком» (с годами – «Семенычем») – не комильфо. Поэтому – начальник отдела АСУ. Понятно, красит-рихтует не только местному начальству, но самому «Иван Иванычу» (кто это – не ведаю, но имя произносилось с придыханием). Так что, на работу ему глубоко начхать, а за место свое – не тревожится... Забрали мы акты и пошли. Вторые сутки на ногах. Как до поезда гуляли по Сумской – в упор не помню. В вагоне залез на верхнюю полку и... проснулся в Киеве.

Поразмыслили мы бригадой и решили: больше по этому объекту не делаем ничего. То есть, отчеты туфтовые, какие надо, пишем, но саму работу – а ни на йоту. Что вы думаете, потом уже Марк Семенович к нам приезжал (я больше в Харькове не был). Привозил заранее подписанные акты. Мы на его ленту раз за разом записывали те же самые файлы, без единого изменения. И ни одна собака не заметила (а если и заметила, то не гавкнула). Так года полтора прошло. Он всегда, как отдает ленту на запись, сам на часы смотрит, нервничает – на авторынок торопится. И вот в последний раз, при завершении проекта, разыграли мы комедию: он ленту отдал, час проходит – ленты нет. Он уже извелся весь. Я с понтом звоню: «Ну что так долго?.. А-а-а... И когда исправят?.. Поторопите их там, человек ждет». Он: «Ладно, я побегу, пожалуй. Вы же почтой вышлете?» — «Ну, непременно». Фиг мы ему выслали («это тебе за собачек на базе»)... Прошло много лет. Как-то приятель говорит: «Ты Марика харьковского помнишь?» — «Еще бы!» — «Так вот, харьковчанин знакомый рассказал, автосалон у него. Процветает». Ну и славно, нашел человек свое призвание – стало комильфо...

Описанный случай – это из ряда вон. Обычно же, эксплуатационники – работники отделов АСУ на заводах, персонал ВЦ – были настоящие профи. И коль уж я определил профессию программиста как еврейскую, то электронщик, особенно начальник машины – без сомнения, украинец: хозяин основательный, неспешный, себе на уме, прижимистый, запасливый, пестующий свою машину, как вуйко – свой огород. Уж у него и чистота, и порядок, и ЗИПа тройной комплект. Дай ему волю, он бы программистов отстреливал на подступах к машинному залу – «ходят тут всякие – машину трогают». Но приходится ему с нами мириться, как с неизбежным злом. А нам надо налаживать с ним добрые отношения. И если наладил, то живется тебе на машине комфортно.

Я вот упомянул раньше насчет гермозоны. Это такая выгородка в машзале, комната без окон, где стоят диски и должна быть особая чистота. Видевшим только современные диски-винчестеры (коробочки в ладонь величиной), трудно вообразить тогдашний дисковод: здоровенный комод с крышкой сверху (похожий на стиральную машину), куда вставлялся пакет 14-дюймовых дисков. Механизм очень капризный – пылинка, попавшая на поверхность диска, могла вызвать сбой. Поэтому гермозону не герметично, конечно, но изолировали, нагнетали избыточное давление кондиционированного воздуха и влажную уборку делали особо тщательно. Там наш брат мог поспать часок: относительно тихо (сильно шумят АЦПУ, консольная машинка и перфокарточные устройства – но они за стенкой), темно (только лампочки на дисководах мигают) и чисто (хоть на пол ложись) . Ну, конечно, на полу жестковато. Но если начальник машины твой друг, то у тебя есть ключик от тайного шкафчика, что укромно схоронен тут же, в гермозоне. В шкафчике упрятаны вещи нужные, но запрещенные: электрочайник и матрас-тюфячок... Комедию с чайниками помнят все, кто работал в советских учреждениях. Естественно, они были в каждой комнате. Но поскольку считались главными источниками пожаров, то официально их не было. Периодически организацию приходили проверять пожарные инспекторы – тогда все чайники (а также кипятильники, щипцы для завивки, фены, электробигуди – чего только не было в столах сотрудников и, особенно, сотрудниц) лихорадочно прятали в сейфы, куда проверяльщики доступа не имели... Ну, а против тюфячков восставало советское «облико-морале», которому все рисовались сладострастные сцены и никак было невдомек, что электронщики значительную часть времени проводят на полу, на карачках, согнувшись в три погибели: кабельные разводки – под фальш-полом, все разъемы в шкафах, все механизмы – внизу. Не удивительно, что хотели люди примостить «пятую точку» на что-то мягкое... А наш брат-программист, внедряя на объекте серьезный проект, сутками пропадал на машине. Хоть были мы тогда молоды, но у всякой выносливости есть предел, и поспать часок в гермозоне за дисководами, на мягком тюфячке друзей-электронщиков, укрывшись старой доброй рабочей кофтой – это был кайф...

Вот тут можно и закончить рассказ о мире больших компьютеров, машинных залов, перфокарт и лентоводов. Я пришел туда мальчишкой, в шестидесятые и этот мир был весомой частью моей жизни целых пятнадцать лет. Наступили восьмидесятые и он стал медленно уходить в небытие, в память. Кто-то в нем подзадержался дольше меня, кто-то ушел раньше, но на круг, для большинства программистов десятилетие началось как эпоха мини-ЭВМ, а завершилось миром, где безраздельно властвовали «писишки». Но это уже совсем другая история...
 


010. Восьмидесятые. Мини-ЭВМ

Что такое мэйнфрейм на первый взгляд? Это большой зал, заставленный шкафами гудящего и стрекочущего оборудования. Это множество людей, снующих туда-сюда с распечатками, перфокартами, магнитными лентами и паяльниками. Большая ЭВМ, она – большая. А что такое мини-ЭВМ? То же, но в миниатюре: комнатка, стойка в две-три секции, рядом дисплей, иногда поодаль еще парочка экранов, принтер – чаще медленный матричный, но если даже быстрый барабанный, то не громадный, похожий на сервант, а небольшой такой, с постельную тумбу. И никаких тебе фальш-полов с кабельной разводкой и стационарных систем вентиляции-охлаждения – провода проброшены прямо по полу (да и много ли их – сетевые, к дисплеям да к принтеру), а в окно врезан комнатный кондиционер бакинского завода (впрочем, ясно что бакинского, других в Союзе просто не было). Большая ЭВМ впечатляет. Ее любили показывать в кинохронике – линейку лентоводов с бешено вращающимися магнитными лентами (кстати, в реальной работе такого дружного скоростного вращения достичь невозможно, поэтому в кино ленты вращаются в обратную сторону, т.е. перематываются к началу автономно, без взаимодействия с компьютером). А в сюжетах об умной машине обязательно трое-четверо очкариков в белых халатах напряженно пялятся в перфоленту, словно надеются вызнать из нее что-то сокровенное; под торжественное восклицание диктора «Задача пошла на счет!» кто-то нажимает на кнопку Reset, т.е. сбрасывает, вырубает компьютер, после чего аппаратный тест заставляет бойко мигать лампочки на инженерной панели (что как раз и нужно киношникам)... На мини-ЭВМ такую веселую лабуду не снимешь: лентопротяжек две (а то и одна) и это – миниатюрные устройства в стойке, крутят ленты они невыносимо медленно; диски тоже вставляются в выдвижные (прямо из стойки) ящики. Все по сравнению с мэйнфреймом беднее, меньше и видно, что дешевле. Последнее обстоятельство «еэски» и погубило: настоящими мэйнфреймами, одновременно обслуживающими сотни или хотя бы десятки пользователей, они стать не смогли, а обслужить двоих-троих с успехом могла относительно дешевая «эсэмка» или «электроника»…

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

Правда, на несколько лет раньше появились дисплеи ЕС-7920. Но, во-первых, далеко не на всех машинах. А во-вторых, они не были полноценными системными консолями (я касаюсь этого в главе «ЕС ЭВМ – pro et contra»). Отечественные умельцы быстро разработали программы, позволявшие на нескольких экранах одновременно выполнять ограниченный набор операций, в основном – редактирование текстов, компиляцию и просмотр сообщений об ошибках. Помню две такие программы: Primus и DProcessor. Разработчики явно конкурировали друг с другом и каждый новый релиз включал все функции программы-соперника плюс еще что нибудь. И все-таки, возможности этих программ были ограниченны, они не могли заменить собой операционную систему разделения времени. Кроме того, постоянно приходилось мигрировать с одной машины на другую: только привыкнешь к сладкой жизни с дисплеями, как – бац оземь! – возвращаешься к перфокартам. Только мини-ЭВМ, где дисплеи были обязательным и единственным средством «ручного» ввода-вывода, как-то психологически зафиксировали переход в новый мир, где компьютер стал ассоциироваться с клавиатурой и экраном. Этот переход стал революцией! Производительность нашего труда выросла невероятно: за один день (или ночь) сидения за экраном можно было сделать больше работы, чем раньше за неделю. Лично для меня, правда, этот новый стиль работы был возвращением к хорошо забытому старому: десять лет назад я именно так работал на БЭСМ-6. Однако, мой случай не просто нетипичен, он крайне редок – я случайно попал в элитарный мир суперкомпьютеров и после того, как неслучайно из него выпал, больше никогда не видал живую БЭСМ...

С массовым внедрением мини-ЭВМ связано и явление, которое могло бы повлечь даже социальные последствия, если бы не случились аккурат в это время такие катаклизмы, что о компьютерных проблемках никто и не вспомнил. Я имею в виду «обезлюдивание» вычислительных центров. В машинном зале мэйнфрейма днем толклась уйма народу: операторы ЭВМ, немаленькая бригада электронщиков, программисты, работники эксплуатационных служб АСУ. Тут же цвел – щебетал и хихикал – целый цветник юных дев, операторов подготовки данных. А рядом сидели суровые тетки, ответственные за контроль информации, архивирование, системную поддержку. Вся эта армия была разбита на группы, сектора и отделы со своими начальниками, парторгами и профоргами... А теперь посмотрим, что делается на мини-машине. В машзале... пардон... в комнатушке уткнулись в экраны два программера да из-за стойки торчат ноги электронщика, который, как обычно, колдует там чего-то с паяльником. Все! А когда программеры написали наконец свои программы и их стали применять пользователи, то... ничего не изменилось: в комнатушке уткнулись в экраны два инженера-расчетчика или сметчика, а из-за стойки, по-прежнему, торчат ноги электронщика. И вся армия посредников между компьютером и конечным пользователем – не нужна! Не нужны милые девушки, что перфорируют исходные данные: пользователь собственноручно их вводит; не нужны суровые тетки контролеры-проверяльщики: интерактивная программа все проверит «на лету» и тут же – в процессе диалога – данные можно поправить. Архивирование сделает сам пользователь или тот же электронщик, его одного на одну машину – больше, чем нужно, вот и пусть еще ленты помотает, чай не перетрудится. С переходом на малые машины теряло смысл само понятие вычислительного центра как самостоятельной организационной структуры, как отдельного помещения (порой даже – отдельного здания), по напичканности всевозможным железом, по пожираемым киловаттам больше похожего на производственное, чем на конторское. Недаром мини-ЭВМ назывались средствами автоматизации уровня отделов, лабораторий, рабочих групп. Их можно было запросто поднять на нужный этаж, поставить в лаборатории, в закутке рядом с бухгалтерией. Можно было даже установить дисплей прямо на рабочее место, например, диспетчеру нефтебазы или сменному инженеру в цеху... Так что, с начала восьмидесятых над персоналом эксплуатационных служб АСУ стали сгущаться тучи...

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

Бытует устойчивый миф, что до начала проекта ЕС в стране было де множество разных типов компьютеров, а после – унылое однообразие «еэсок», ну и еще может быть «эсэмок». Конечно, в действительности все не так. К восьмидесятым (а это, пожалуй, наивысшая точка развития советской компьютерной индустрии) разнообразие применяемых архитектур достигло апогея, намного обогнав «славные» шестидесятые. Просто упомянутые выше машины были «мэйнстримом» и многие из ностальгирующих не подозревали о существовании еще каких-то... Однако и я начну обзор мини-машин, с которыми пришлось иметь дело, с мэйнстрима, с так называемых «эсэмок»... Почему так называемых? Судите сами. Семейство СМ ЭВМ имело в своем составе машины пяти (!) абсолютно разных архитектур. С другой стороны то, что принято называть «эсэмкой», выпускалось только в Союзе под четырьмя (!) различными наименованиями: СМ-4 (1420 и ряд других моделей), Электроника-79 (и ряд других моделей), М-400, Наири-4. Добавьте еще польские Mera, венгерские TPA, болгарские ИЗОТ-1016. Все эти машины были совместимы между собой, поскольку являлись клонами PDP-11 компании Digital Equipment Corp. Тут не удержусь, чтоб не воскликнуть: легендарной архитектуры PDP-11 и легендарной компании DEC!

PDP-11/40

Менее всего программистам свойственны сентиментальность или восторженность. Уж не знаю почему, но типичный программер – это довольно-таки неприятный тип, иронично-насмешливый, язвительный до глумливости. Чтоб что-то похвалить, да еще в превосходных степенях... лучше удавиться. Но заведите с ним разговор о PDP-11 и вы услышите, как голос его теплеет. А ведь работал он даже не на самих PDP, а на кондовых советских клонах. В чем же дело? Эти машины были красивы! Не внешне, конечно. Красива, изящна, элегантна была их архитектура... хм... как объяснить красоту инженерного решения, не вдаваясь в технические детали? Оно было минимально, ортогонально и гомогенно. Главным инструментом дизайнеров была бритва Оккама: при богатстве возможностей – ничего сверх необходимого. Машины получились мощные, надежные, простые в изготовлении (даже советским монтажникам не удавалось их испортить), были на редкость неприхотливы и дуракоустойчивы. Первая модель была выпущена еще в 1970 году. К началу восьмидесятых, когда в Союзе развернули, наконец, их клонирование (да-да, опять десятилетнее отставание) семейство PDP-11 было признано хитом десятилетия, пользовалось заслуженной любовью программистов и имело колоссальный фонд программного обеспечения. Операционные системы производства DEC (а их на наше счастье не пытались «улучшить», а просто переименовали и перевели на русский документацию) отличались простотой использования, надежностью и элегантностью – все логично, ничего лишнего. Были компиляторы двух главных языков – ФОРТРАНа и КОБОЛа... И все-таки, для меня (как и для многих советских программистов) эти машины остались навсегда связаны с другой операционной системой и другим языком, оказавшими в последующие тридцать лет огромное влияние как (глобально) на IT-индустрию, так и (персонально) на мою профессиональную судьбу. Вместе с «эсэмками» появились в Союзе магнитные ленты с дистрибутивами операционной системы Unix и первыми компиляторами языка C. Однако, эта тема заслуживает, пожалуй, отдельного разговора...

Другим семейством машин, на которых пришлось изрядно потрудиться, были СМ-2 и ее многочисленные, также по-всякому именуемые родственницы (СМ-1, СМ-1210, М-7000, ТВСО). Прототипом их послужило почтенное семейство HP-2100 компании Hewlett-Packard, выпускавшееся 30 лет, с 1966 по 1996 годы. Где-то к середине семидесятых (опять это десятилетнее отставание!) в Союзе выпустили первый клон – М-6000. Эти машины были основой промышленной (т.е. на заводе, в цеху) автоматизации. В архитектуре машин не было особых красот и изысков, она была честно заточена под задачи управления технологическими процессами. Системная математика от HP (естественно, переименованная и с документацией по-русски) была такая, как нужно на заводе (или в танке): кондовая, простая, без «бубенчиков и свистулек», но – все работало. Из языков использовался ФОРТРАН и ассемблер. Машины эти были посложнее микроконтроллеров, но попроще тех микропроцессоров, что встраиваются сегодня в микроволновые печи. Никого особо не очаровывая красотой и элегантностью, эти неприхотливые скромные трудяги достойны искреннего уважения. Я где-то читал, что их более десяти тысяч было внедрено непосредственно в промышленности и в «оборонке», на честном автоматизированном управлении техпроцессами. Цифра для Союза – офонаренная! Однако, хотя эти машины и задействовались на самых «престижных» объектах (Олимпиада-80, Байконур), они не были «на слуху». Может дело в том, что разработчики сидели в Северодонецке – в провинции, на отшибе – и в столичной тусовке не засвечивались...

И eще одна провинциальная разработка – вильнюсские машины М-5000. Вот они, кажется, были оригинальной архитектуры. Во всяком случае, никогда не слышал об их прототипах. Выпускались они с начала семидесятых и шли на замену старому счетно-перфорационному оборудованию. Соответственно, машины были заточены под задачи статистики и бухгалтерские расчеты, а из языков (помимо ассемблера) имелся совершенно уместный для таких приложений КОБОЛ. Вот, кстати, пример естественной, нормальной судьбы инженерного решения – без великих взлетов, но и без провалов. Десятилетие спустя, когда пришел срок эти машины списывать, литовцы наладили выпуск двухпроцессорных комплексов СМ-1600. Это был клон PDP-11, но содержащий дополнительный блок – процессор, реализующий систему команд М-5000. Понятно, что в компании DEC понятия не имели о таком монстре: всю работу по программному сопряжению в единый комплекс двух разнородных архитектур сделали в Вильнюсе, и сделали очень грамотно. Процессор М-5000 был ведомым и активировался из основного процессора; дальше обе «машины» работали, разделяя общие ресурсы. Так по задумке разработчиков можно было безболезненно перебазировать на новую технику старые приложения «в двоичном виде», вообще их не меняя. А потом потихоньку, в процессе модернизации программ, переносить их на собственно «эсэмку», благо компилятор КОБОЛа там имелся... В конце концов, ставший ненужным блок М-5000 выключался, а то и выбрасывался из стойки, а СМ-1600 продолжала работать в однопроцессорном режиме... С этой машиной у меня связаны воспоминания о необычном, неожиданном комфорте – на грани сибаритства. Сколько себя помню (за вычетом службы оператором на «Минск-22»), всегда мотался по вычислительным центрам, приходя на арендуемое машинное время. Контора, где я работал, хоть и занималась автоматизацией с 50-х годов, но собственной ЭВМ никогда не имела. А тут вдруг подвернулся заказчик, который за плевый в общем-то проект – помощь в миграции с М-5000 на СМ-1600 – обещал выделить для работы одну «эсэмку» и потом она у нас останется. Проект слепили мигом (как я описал выше, все было уже сделано литовцами – знай, следуй их инструкциям), а потом блок сопроцессора вынули из стойки, докупили память и... стали наслаждаться оседлой жизнью: пришел на работу и никуда дальше не надо тебе бежать с лентами-дисками в рюкзаке, спустился на машинку – по кнопкам постучал, поднялся в офис – чаю попил. Красота!

Напоследок о машинах, на которых, правда, не работал, но имел, как говориться, «самые серьезные намерения»... Немногие знают, что были такие «еэски», которые совсем даже не «еэски», в смысле – ничего общего с архитектурой IBM/360. Это – ЕС-1010 и 1012. О том, как оказались в «едином семестве» ЕС ЭВМ эти «приемные дети», ходили легенды. Ну вот, как запомнилось, так и передам – за правдивость не отвечаю... Было в Союзе нехилое такое Министерство нефтегазовой промышленности, то самое, что стало впоследствии ОАО Газпром – тоже немаленькой такой компанией. Поскольку и в давние уже семидесятые годы нефть и газ так же кормили Советский Союз (в прямом смысле – канадской пшеничкой), как кормят сейчас Россию (в лице ее некоторых, особо достойных граждан), то Миннефтегаз мог позволить себе всякие прихоти, которые не сошли бы с рук какому иному министерству... И вот как-то так получилось, что применялись на предприятиях министерства французские мини-компьютеры Mitra компании CII, которая вскоре была поглощена знаменитой Honeywell-Bull. Почему именно эти машины (а были они не хуже, но и не лучше других) – история умалчивает. Скорее всего, получили их вместе с технологическим оборудованием, освоили, привыкли, а дальше... «от добра добра не ищут». Вскоре стали выпускать клоны французских машин на заводе Videoton в Венгрии, причем, не какие-то ворованные контрафактные копии, а все честнo, по лицензии. А происходило это в самый разгар «еэсовской» пиар-компании и, чтобы все были довольны, присвоили машинкам маркировку ЕС. Ну, хоть горшком назови – не убудет...

Теперь, каким боком тут наша контора. Не получая от родного министерства достаточно проектов и не имея гарантированного бюджетного финансирования, наше начальство хваталось за любую работу – платили бы гроши. Поэтому, мы могли вести проекты на громадных предприятиях, вроде Ингалинской АЭС или Николаевского НГЗ, и одновременно «окучивать» какую-нибудь нефтебазу в Жмеринке... Так вот, наш главный инженер вдруг ненароком задружился с важными перцами из Миннефтегаза и те обещали подкинуть проектики. Командировки в Западную Сибирь никого у нас не смущали – наоборот, прельщали северными надбавками (людей, побывавших в разных Эльбанах и Солнечных, не испугаешь Уренгоем). Нам была дана команда изучать машины и готовиться. Я честно поизучал – понравилось. Сходил в местный Институт газа, где они водились, попробовал по кнопкам поклацать – все вроде нормально. Обычный комплект языков – ФОРТРАН и КОБОЛ – в наличии имелся. И кроме того, очень воодушевляло, что в МГУ делали C-компилятор и портировали Unix, причем, должны были вот-вот закончить... Ну, что дальше? Дальше обычная история: слишком уж радостно предвкушали сладкие, жирные проекты от богатеньких буратин-газовщиков – по «закону зловредности» не могло не сорваться. Много, видать, было желающих откусить от газового пирога и наших не шибко пробивных и влиятельных командиров, как водится, оттерли. Ну что ж, не сложилось. Бывает...
 


011. Unix & C. Гамбургский счет

Любопытно, что вполне подцензурное советское искусство запечатлело в семидесятые-восьмидесятые годы довольно реалистичный образ советского учреждения. Если героические «Сталевары» варили сталь прямо на мхатовской сцене, а бригадиры-бетонщики горели на работе вместе с пламенными секретарями парткомов, то показать героическое трудовое горение счетовода в нарукавниках было слабó даже гениальным Ефремову и Товстоногову. Так что, неспешная, расслабленная, полусонная жизнь многочисленных НИИ, КБ, ПKTИ, всевозможных учетно-расчетных, контролирующе-регистрирующих, планирующе-администрирующих и совсем уж непонятно чем занимающихся контор была вроде бы как в порядке вещей. Конечно, когда имелся личный интерес, люди работали. В тех же НИИ очень даже упирались, делая диссертацию. Но после защиты можно было «выпасть в осадок». А на заводах и в «пусконаладках» вкалывали из-за хороших (сравнительно) денег – премий и прогрессивок. Но в том же заводоуправлении вполне можно было «припухать» десятилетиями. В целом же система не стимулировала труд: «как вы нам, якобы, платите – так мы вам, якобы, работаем». Впрочем, с оплатой-работой не все так просто...

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

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

У меня еще в те годы закрадывалось подозрение, что Совья Властьевна все это прекрасно понимала и сознательно давала возможность технической интеллигенции резвиться на рабочем месте как заблагорассудится – лишь бы в политику, в диссидентство не лезли. Разумеется, я говорю о вегетерианском периоде советской истории, об относительно сытых семидесятых и восьмидесятых, когда вся страна сидела на халявной нефтегазовой игле и – по большому счету – ни хрена не делала. Народ пьянствовал, подворовывал тихонько. Ну, так чего бы не дать интеллигентикам безобидной ученой дурью помаяться?.. Вот так же помаяться увлекательной дурью, но чтоб не бесплатно, а в рабочее время – и мне хотелось. Но как? Кафедры и НИИ были надежно для меня закрыты. Надо было устраиваться на месте, благо возможность такая имелась: контора отчаянно нуждалась в проектах; добудь хоть-какой для своей бригады – тебя не просто одобрят, на руках будут носить. Так-так, а я регулярно ездил в Госплан – сопровождал (в качестве свиты) нашего главного инженера. Ну и завязывал там полезные знакомства, искал удобного случая. И он представился, случай под названием Unix... Но, по порядку...

Впервые о языке C, о системе Unix я прочитал еще в семидесятые... Пользуясь семейным блатом в ГРНТБ (республиканской научно-технической библиотеке), я имел доступ к журналам, которые переводились на русский или реферировались, т.е. считались благонадежными и были всего лишь «для служебного пользования». Каковое пользование заключалось в том, что они в пятницу вечером уносились в сумке из библиотеки, а в понедельник утром благополучно туда возвращались. Так я лет пятнадцать читал Electronics Weekly и Acta Informatica... Но то были рассказы о чем-то далеком и недоступном. Как вдруг, году эдак в 81-м, сразу во многих местах появились магнитные ленты с дистрибутивами Unix v6 и v7. Откуда? Переписали у знакомых, те – у своих знакомых... далее – везде... Система преспокойно запускалась на СМ-4 (игнорируя, естественно, русский язык), а дистрибутивы содержали исходные тексты ядра, компиляторов, утилит, а также полную документацию. Конечно, требовалась русификация драйверов дисплеев и принтеров и «обучение русскому языку» многочисленных программ обработки текстов. Но это все были вполне посильные задачи, главное же – система изначально была вполне работоспособной...

Удивительного в самом факте появления лент мало: в Союз попадала математика от IBM, DEC и HP, теперь вот попали разработки Bell Labs – большое дело! Удивительна была дальнейшая судьба этих лент в Союзе. Не передача (под большим секретом) в пару-тройку институтов, чтобы там на их основе с понтом якобы разрабатывать якобы советскую математику, но бесконтрольное и явно несанкционированное распространение по разным ВЦ в разных городах страны. Похоже, что ленты привезены были в Союз не доблестными героями из «конторы глубинного бурения», а аспирантами-докторантами, выезжавшими по обмену на стажировку в западные университеты (где дистрибутивы Unix распространялись свободно и бесплатно). Конечно, людям вроде меня, бывшим долгие годы невыездными, в это верится с трудом. Когда мне разрешили, наконец, навестить родственников в Польше, я всерьез трясся, что на границе не пропустят купленные там книжки Лема. К счастью, пропустили. Однако помню, как в том же вагоне погранцы повязали старика-поляка. Они когда шли по вагону, то громкой скороговоркой возглашали: «оружие-наркотики-религиозные атрибуты». Это что запрещено, дескать, ко ввозу. Именно так, через тире: оружие – иконки – наркотики... И вот старика обшмонали и обнаружили дешевенькую литографическую бумажную иконку. Старик – явно сельский житель из галицийской глубинки – путая от волнения украинские и польские слова, сбивчиво пытался объяснить, что его старуха больная, он ей везет освященный образок Матки Боски Ченстоховой, только ей, больше никому даже показывать не будет. А когда иконку забрали – заплакал, попытался бухнуться на колени, лопотал, что у старухи рак, она умирает, он только за этим образком в Польшу и ездил... Погранцы увели его и никто в битком набитом вагоне за старика не заступился. И я молчал – такой же трусливый раб, как все, только что с фигой в кармане... Так вот, тогда у меня и в мыслях не могло возникнуть тащить через границу магнитную ленту. Но... это пуганый воробей стреляную ворону боится. А вот знакомый поляк, учившийся в заочной аспирантуре в Киеве, постоянно мотался туда-сюда и именно с лентами. Вряд ли на границе проверяли, где материалы его личной диссертации, а где что-то другое. Да и люди, выезжавшие на Запад на стажировку – хоть и мало таких, но были (даже среди авторов «Заметок» есть) – с хорошими анкетами, непуганые... Так что, по здравому размышлению, версия о привозе в Союз этих лент в порядке частной инициативы выглядит вполне реалистичной.

Другая версия – еще (сюр)реалистичней: через знаменитый рыболовецкий колхоз имени В. И. Ленина, что на острове Сааремаа (вот написал и засомневался: Ленина ли или какого другого краснопузого ублюдка калибром помельче?.. но, не суть важно). Сведущие люди не удивятся и не спросят, а какое это отношение имели эстонские рыбаки к операционным системам и вообще – к компьютерам. Те же, кто не в курсе, могут погуглить "Datasaab affair" – это будет предыстория. Что до самой истории, то позднее мне довелось познакомиться с этими славными колхозниками, о чем расскажу в свое время. На прямой вопрос об их причастности к "Unix affair" я получил довольно уклончивый ответ. Что, как говориться, наводит на...

Ну ладно, так или иначе ленты в страну попали, а дальше... А дальше сработала та Unix-магия, которая очаровывала всякого, кто начинал знакомиться с системой. И которая за считанные годы принесла сугубо исследовательскому, любопытства ради затеянному, некоммерческому проекту феноменальную популярность по всему свету... Хм... тут, чувствую, необходимо сделать некое предуведомление. До сих пор я рассказывал о делах давно минувших, о компьютерах, сохранившихся разве что в музеях, о программах и языках, если и доживших до наших дней, то доживающих где-то в укромных уголках, вдали от столбовых дорог. Unix же сегодня – это даже не одна конкретная система, а целый континент, целая техническая цивилизация со своей сорокалетней историей, что и по меркам человеческой жизни много, а в масштабе спрессованного времени IT-мира соответствует столетиям, эпохам. Это определенная философия, стиль, комплеск идей, определивших облик современной IT-индустрии. Наконец, это весомый сегмент рынка, многомиллиардные активы. Что же до языка C, то он и его потомки (C++, Objective-C, Java, C#) составляют мэйнстрим, доминанту современного программирования... и трудно сыскать язык, созданный в последнюю четверть века и не испытавший его влияния. А для большинства активно работающих программистов (тридцати- и сорокалетних) нынешний мир – единственный, другой они не застали. Я же пытаюсь рассказать о том другом, исчезнувшем мире. О далеких предках могущественных фамилий Unix и C, передавших потомкам свои имена и родовые черты, но отличавшихся от них, нынешних, поведением и мотивацией, привычками и идеалами – очень, очень многим... Тогда в начале восьмидесятых в Союзе мы имели технику семидесятых годов (неизбывное технологическое отставание) и версии Unix нам были доступны из предыдущего десятилетия (не потому даже, что более современные не удалось спереть на Западе, а попросту не было машин, где б они могли работать). Итак, если вдруг кто-то из молодых коллег будет читать этот текст, пусть примет во внимание временнóй фактор: речь идет о первом десятилетии сорокалетней истории. Это все равно как первое столетие четырехвековой истории Нью-Йорка – безлюдные лесные чащобы Манхэттэна, крошечное поселение на побережье и... все еще впереди...

Так чем очаровывал Unix? Прежде всего, языком C, на котором был написан. Долгожданным языком программирования для программистов. Стоп! А другие языки, тот же ФОРТРАН или КОБОЛ, они для кого? Да, для нас, конечно, для кого ж еще. Но только эти языки были заточены под решение тех или иных прикладных задач – инженерно-расчетных или бухгалтерско-учетных, а вот как быть с задачами неприкладными? Они как невидимая часть айсберга – неприметная громадина, с которой пользователь напрямую не соприкасается: операционные системы и базы данных, компиляторы тех же языков программирование, утилиты, драйверы устройств и и еще тысячи всяких разных программ, сервисов, библиотек функций и т.д. и т.п. И все это нам надо программировать. На чем? Нынче и вопроса такого не возникает, но ведь было время, когда в ответ звучало: «на ассемблере» – на низкоуревневом машинном языке. Или же на языках вроде ФОРТРАНа или ПЛ/1 – чересчур высокоуревневых. Гений дизайнера (Денниса Ритчи) как раз и проявился в безошибочном выборе уровня языка, уровня абстракции – достаточно близкого к «железу», чтоб обеспечить эффективность и достаточно далекого от него, чтоб не утратить мобильность... А еще язык был как-то очень ладно скроен, явственно ощущалось, что запроектировал его человек, знаюший ремесло программера не понаслышке. Короче говоря, прочитав с восторгом описание языка (тут еще сыграла свою роль изумительная книга Кернигана и Ритчи, недаром называемая «the White Bible» и по праву считающаяся шедевром технической прозы) и написав пару-тройку программок я уже ни на каких других языках работать не хотел. (Но всему свое время: уже лет пятнадцать, как я на нем не работаю и... не хочу – на C++ или C# куда как удобней)...

Сама же система Unix привлекала своей компактностью, обозримостью, концептуальной стройностью, легкостью. Она изначально задумывалась и создавалась как антитеза тяжеловесным, многофункциональным, переусложненным, труднопостижимым, внушающим почтительный ужас разработкам огромных коллективов, что было характерно для эпохи мэйнфреймов. Квинтэссенция, яркий зримый образ этих чудищ нарисован в замечательной книге руководителя разработки системы OS/360 Фредерика Брукса «Мифический человеко-месяц» (“The Mythical Man-Month” by Frederick Brooks) – асфальтовая топь, зыбучая смоляная трясина, неумолимо затягивающая попавших в нее динозавров. В книге убедительно показано, каких чудовищных усилий и денег стоит разработка больших систем, достижение должного уровня качества и надежности. Создатели Unix участвовали в разработке операционной системы Multics, само название которой (Multiplexed Information and Computing Service) недвусмысленно указывало на сложность, множественность исполняемых функций. Устав барахтаться в смоляной яме «отцы-основатели» Кен Томпсон и Деннис Ритчи принялись делать простую и понятную систему, которую они с явным вызовом поначалу назвали Unics, т.е. “uniplexed” по контрасту с “multiplexed”. (Забавно, что пресловутый монстр Multics выглядит предельно компактным и простым до примитивности на фоне современных операционных систем, потомков Unix).

В своей книге Брукс вспоминает излюбленные журналистами сказания о том, как дескать пара энтузиастов склепала на коленке в гараже замечательную программу, оказавшуюся лучше корпоративных разработок с многомиллионными бюджетами. Многоопытный менеджер проекта с понятным сарказмом вопрошает, почему же дуэты одержимых парней из гаражей не заменили собой софтверные компании? А ведь правда – не заменили. Но и пресловутые гаражные дуэты – не выдумка: Билл Хьюлетт и Дэйв Паккард, Билл Гейтс и Пол Аллен, Стив Джобс и Стив Возняк, из совсем недавних – Ларри Пейдж и Сергей Брин. Они – больше, чем правда: «двое в гараже» – архетип современного мифа. А разгадка кажущегося противоречия в том, что в гаражах начинают, но успешное начинание успешно продолжаться может только в офисе... Unix, созданный хоть и не в гараже, но небольшой группой исследователей, тоже стал мифом, а точнее – жертвой на алтаре собственного культа.

К концу семидесятых Unix являл собой идеальную систему для университетов и исследовательских лабораторий, т.е. для групп энтузиастов. Он был ясен и прозрачен, поскольку реализовывал только «самые вкусные», концептуально важные идеи. По сути, это был замечательный набор инструментов и заготовок для творческого применения при самостоятельном построении операционной среды. Дополнительным плюсом было то, что помимо великолепно написанных программ имелась не менее великолепно написанная документация. Впрочем, тексты эти грех называть казенным словом «документация». Чего стоила только «Книга Джона Лайонса» (“Lions' Commentary on Unix” by John Lions), которая объясняла функционирование ядра системы «в лицах», комментируя работу его модулей и служб – совершенно уникальное, бесценное пособие... Так, а чего же в системе не было? Не было ничего даже отдаленно напоминающего интуитивно-понятный «дружественный» интерфейс. Система предназначалась искушенным профи, а никак не лопуховатым ламерам, и принципиально не «обихаживала» пользователя. Что еще? Вот я упомянул раньше, что не было поддержки русского языка. Так никакого языка, ничегошеньки, кроме базовой (английской) латиницы и неявной локализации для Соединенных Штатов. Предполагалось, что если понадобится французу, японцу или русскому поддержать родной язык, то он изучит исходный код, да и наточит систему соответствующим образом. А если у кого-то на машине стоит устройство, которого не стояло у разработчиков в Bell Labs (и посему нет в поставке), то пускай возьмет и сам напишет драйвер устройства. Ну, а если захочется перенести систему на другую машинную архитектуру, то... все открыто, изучай, пиши C-компилятор (даже не весь, а только кодогенератор – модуль, где сконцентрирована машинная специфика), потом меняй машинно-зависимые модули ядра системы и... вперед. Непростая, но страшно интересная задача.

Итак, Unix был по сути типичным удачным исследовательским проектом. Только – очень удачным. Настолько удачным, что распространение его напоминало пандемию (чему изрядно поспоспешествовали дешевизна и либерализм лицензий). Естественно, не могло не возникнуть желание подзаработать на столь популярной штуковине и... дальше, в восьмидесятые годы, начинается уже другая история: выпуск множества коммерческих версий, череда покупок и перекупок лицензионных прав, бесконечные судебные тяжбы, появление альтернативных ядер (Minix, Linux), в девяностые – дурацкая быдловатая «юниксомания», круто замешанная на завистливой «гейтсофобии»... Все это общеизвестно и совсем неинтересно. На авансцену вышли торговцы, юристы и пиарщики, а симпатичные бородачи – создатели системы – тихонько отошли в тень и, поскольку слово “Unix” стало товаром, продолжили свои исследования под другой вывеской – Plan 9...

Метки:  

Процитировано 1 раз
Понравилось: 1 пользователю

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку