jlm_taurus (jlm_taurus) wrote,
jlm_taurus
jlm_taurus

Categories:

Записки советского программиста. Самуил Любицкий. часть 4

Другая версия – еще (сюр)реалистичней: через знаменитый рыболовецкий колхоз, что на острове Сааремаа. Сведущие люди не удивятся и не спросят, а какое это отношение имели эстонские рыбаки к операционным системам и вообще – к компьютерам. Те же, кто не в курсе, могут погуглить "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, созданный хоть и не в гараже, но небольшой группой исследователей, тоже стал мифом, а точнее – жертвой на алтаре собственного культа.

Ход событий в Союзе соответствует общему тренду: сначала хаотичное увлеченное «освоение» новой игрушки; потом постепенно выкристализовываются центры, где адаптацией и локализацией начинают заниматься всерьез – ИНЭУМ, Курчатовский институт, ИПК Минавтопрома – и выпускают, наконец, три конкурирующие локализованные версии для советских клонов PDP-11 – ИНМОС, ДЕМОС, МНОС, соответственно (расшифровка аббревиатур: «инструментальная мобильная», «диалоговая единая мобильная», «машинно-независимая» операционная система). Особняком, слегка на отшибе держались те, кто реализовывал Unix на машинах не самых массовых и популярных. Я упоминал уже команду из МГУ, сделавшую реализацию на ЕС-1010 и 1012, причем, написавшую с чистого листа C-компилятор и ядро ОС (насколько я знаю, на французские прототипы этих машин, Mitra-15 и 225, Unix так и не был портирован). В другой команде, ухитрившейся засунуть Unix в «советский Wang», легендарную «ядерно-бухгалтерскую» машину Искра-226 (о, это было не просто!), довелось участвовать автору этих строк. Но это отдельная история...

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

В Госплане издавна использовались машины Wang 2200. В конце семидесятых при очередном приступе шпиономании (старая советская паранойя о «жучках» в импортных компьютерах) ЦК принял решение о замене их безопасными отечественными аналогами. Прошло несколько лет, машины сделали, но приступ к тому времени поутих и в Госплане эту «советскую гадость» — его аж передернуло от отвращения, — ставить не будут, но выпускать – таки да, будут. Уже вовсю клепают. — Ну, и в чем проблема? — А в том, что машину сделали полностью программно-совместимой с «вангом», т.е. из языков там наличествует только интерпретатор Бейсика. Для всяких расчетно-бухгалтерских задач другого и не надо, но есть пользователи, что требуют шустрой работы, Бейсик их сильно тормозит. И это влиятельные люди, их не «пошлешь». — Так «юникс» туда поставить! — Вот-вот, только никто не хочет браться.

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

Меня еще отец учил: хочешь чего-то добиться, преподнеси идею начальству так, чтоб оно считало ее своей. За обедом я главного обработал. Впрочем, много времени не понадобилось – мужик он был хваткий, на лету подметки рвал и уже за десертом вовсю мне растолковывал плюсы своей идеи, которую (если выгорит) мне предстоит реализовывать. Хитрый аппаратный лис Александр Александрович в советах как обрабатывать начальство, разумеется, не нуждался. Так что после обеда оба они были званы в высокий кабинет, откуда Александр Александрович вышел уже с одобренными цифрами (наш главный инженер – по всему видать – показал высокий класс выцыганивания денег и годовой бюджет проекта подрос до 50 тысяч).

Я сел за пишмашинку и мы в четыре руки до конца заседания коллегии подготовили задание на разработку «унифицированного инструментального комплекса для персональной клавишной ЭВМ Искра-226», сокращенно «Уникс-226» (и никакой тебе подозрительной иностранщины, типа “Unix” и близко нет – все чисто), договор с календарным планом и всеми прочими бумагами, которые сразу же и подписали... В тот день из Госплана мы не вышли, а на крыльях вылетели. Дальше обязательная пробежка по магазинам (что бы ни было по работе, но каждый из нас, невзирая на должность, был обязан, возвращаясь из Москвы, закупить лимоны, апельсины и прочее по списку) и вот, наконец, мы в вагоне. Чем хороша поездка с начальством – в спальном вагоне (СВ). Сели и тут шеф достает из саквояжа бутылку армянского коньяка, икорку, другую вкусную закусь. Когда успел затариться, ведь по магазинам мы вместе гоняли, да и не купишь такое в магазине? Не иначе, как в госплановских закромах. Но, не важно откуда добыл, приятно (не скрою), что «проставился». Этот вечер мы славно провели, обсуждая будущий проект, «уговорили» коньячок под стук колес... А наутро, в Киеве начались трудовые будни.

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

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

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

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

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

С самого начала в наш проект была заложена денежка на перевод «зарубежных информационных материалов». Мне удалось втравить в это дело блистательного киевского переводчика – Леонида Бурштейна, который к тому же работал программистом (технические переводы были тогда чуть ли не единственным легальным способом дополнительно подзаработать) и в процессе перевода сам здорово увлекся «юниксом», т.е. переводил текст, не только великолепно владея языком (как английским, так и русским), но и понимая профессионально предмет изложения – идеальный случай! Мог бы сразу вносить текст в компьютер, но правила бюро переводов требовали печати на пишмашинке со вписыванием английских слов ручкой. Потом эти переводы в количестве одного экземпляра депонировались в ГРНТБ и никто б их никогда не увидел, если бы второй экземпляр я не привозил на время в ИПК. Там на курсах по «юниксу» курсанты (для получения зачета) вводили в машину энное количество страниц документации, вычитывали и проверяли введенное сокурсниками. Таким вот способом стали общедоступны на русском языке “UNIX Programmer's Manual” шестой и седьмой редакций (это три огромных фолианта) плюс дюжины три отдельных немаленьких книжек с описаниями программ и языков (lex, yacc, awk, sed, ratfor, и многих других). Тексты эти разошлись на магнитных лентах по всей стране, а с появлением рунета – появились на множестве сайтов, и нигде не фигурировало имя переводчика. Восстанавливая справедливость называю его: Леонид Бурштейн.

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

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

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

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

Легенды и мифы древних компьютеровБыла такая книжка «Легенды и мифы Древней Греции» – зачитывался в детстве. Мое повествование – о трудах и днях вроде бы не столь отдаленных. Но по меркам компьютерного мира – вполне античных. А уж легенд и мифов тех давних дней – такой ворох накрутился, такая мешанина из обрывков сведений, полуправды и откровенного вранья, что чувствую необходимость хоть чуточку внести ясность...

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

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

И вот кто-то из хитрых руководителей ЛЭМЗ (а может, и кто повыше) воспользовался этим мифом в производственно-личных целях и в цековских верхах родилось постановление о выпуске полностью отечественной ЭВМ, безопасность которой гарантировалась (!) оригинальной архитектурой процессора и системой команд (специалисты юмор, как говорится, «заценят»), а также последовательным употреблением русского языка в программном обеспечении (вот где шпионские жучки-то скрывались — в иностранных словах и командах). А как же быть с миллиардами, уже вбуханными в «еэски» и «эсэмки»? А никак. Те нехай себе выпускаются как прежде, а курский «Счетмаш» будет делать «безопасную» машину для спецприменений. К каковым (к спец, то есть) отнесли: госстатистику и оборонку, т.е. в подразделения Госплана и ВЦ облстатуправлений должна была поступать «машина программируемая электронная клавишная вычислительная Искра-226» и она же в освинцованном радиационно-стойком исполнении – в гарнизоны и на боевые корабли. Конечно, умиляет сочетание требований – радиационно-стойкая бухгалтерская машина (так и просится к ней в пару бухгалтер в противогазе и комплекте ОЗК); представляю, в какой ступор впали бы инженеры из Wang Labs, DEC или IBM, получив такое задание, а наши умельцы – ничего, склепали на коленке, за что заслуженно удостоились Государственной премии.

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

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

Забавно, что основания у «обвинителей» что Искры, что БЭСМа одинаковы – программная совместимость с популярными машинами-предшественниками трактуется как улика. Буквально: знает иностранческий язык – шпион. В шестидесятые годы, когда создавалась БЭСМ-6, корпорация Control Data была несомненным лидером в мире суперкомпьютеров. Ее машины стояли в крупнейших научных центрах, включая как CERN, так и Объединенный институт ядерных исследований в Дубне. Какой вклад в разработку БЭСМ-6 внесли программисты из ОИЯИ, видно хотя бы из названия операционной системы – «Дубна». А «основной» компилятор звался CERN-FORTRAN и реализовывал версию языка, принятую в Control Data Corp. Ну что сказать, разработчики БЭСМа были бы идиотами, если б не обеспечили совместимость с компьютерами CDC на уровне исходных текстов программ и носителей информации. А поскольку они были умными людьми, то... помню, что кодировка перфокарт называлась «сидисишная». Очень даже может быть.

А еще приводят вот какие «улики» – совпадающие детали. Скажем, Wang 2200 и Искра-226 одинаково используют отдельно адресуемую память для программ и для данных. А у БЭСМ-6 и CDC-1604 одинаковый размер машинного слова – 48 бит. А у вас, уважаемый читатель, и у разыскиваемого преступника – одинаковый размер обуви. Резонное основание для вашего ареста, не так ли?.. К сожалению, очень многие люди (даже вроде бы как технические специалисты) совершенно не понимают азов проектирования. Когда создается новый... не важно что – самолет, компьютер, крейсер, пакет офисных программ, танк, соковыжималка... то прежде всего внимательнейшим образом изучаются аналогичные изделия, имеющиеся на рынке (в военном деле аналог рынка – вооружение потенциального противника). Всякое новое изделие проектируется с намерением сделать его лучшим в своем классе.

Не всегда это удается, но намерение есть всегда. Обязано быть!.. Кстати, здесь хорошо виден стратегический изъян практики копирования: ее горизонт – сохранение status quo. Но ведь конкурент не дремлет, уже завтра он выпустит что-то лучшее. Конкурируя, напрягаясь изо всех сил – вполне можешь проиграть. Но есть какой-то (пусть крохотный) шанс на победу. Копируя, отказываясь от борьбы – проиграешь стопроцентно... Так вот, не «драть», но творчески использовать чужие удачные решения (улаживая патентные проблемы, естественно) – это совершенно нормальная, ничуть не зазорная практика. В семидесятые, к примеру, целая «свора» фирм (Amdahl, Fujitsu, Hitachi, ICL, Interdata, RCA, Siemens-Nixdorf, Univac, Wang Labs) принялись выпускать компьютеры, архитектурно совместимые с IBM/360. Но это не были тупые копии – каждый добавил какую-то свою «изюминку», постарался сделать или более мощную машину при той же цене, или более дешевую при тех же характеристиках и... отгрызли-таки кусок рынка у IBM.

От легенды так сказать негативной («ничего-то мы сами делать не умеем, а токмо драть у америкашек, да и то – косоруко») перейду к легенде горделивой, духоподъемной, патриотической: «Россия – родина... нет, не слонов, но персональных компьютеров». Какая именно советская железяка является тем самым первым «персональным», тут мнения «патриотов» расходятся – называются разные машины. Но «ход мысли», аргументация – всюду сходны и основаны на том, что у базовых понятий нет формальных определений через другие понятия. Всякий отличит персоналку от мэйнфрейма. А от мини-машины? А от офисной однопользовательской (сиречь, персональной) рабочей станции? Такой, как Искра-226, к примеру. А ежели характеристический признак – что одна персона с машиной работает, так и БЭСМ-6 тогда – персоналка, я вон с ней сколько ночей провел, так сказать, tête-a-tête...

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

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

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments