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

Поиск сообщений в ШРМ

 -Сообщества

Читатель сообществ (Всего в списке: 2) Искусство_войны Чортова_Дюжина


История программирования в СССР. Часть II. Продолжение.

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

012. Unix и Искра. Начало


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

Искра-226

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

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

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

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

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

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

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

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

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

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

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

Так прошли три года. Проект благополучно завершился. Мой благодетель, Александр Александрович ушел с повышением в какое-то министерство. Экспертизы для Госплана как-то тоже сошли на нет и... я перестал ездить в Москву. Да так перестал, что вот уже лет 25 – четверть века – в Москве не был. Уж и не буду никогда. Московские контакты и связи постепенно ослабли, истончились, а там и вовсе прервались. Остались только воспоминания, которые вот для верности доверяю интернету...
 


013. Легенды и мифы древних компьютеров

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

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

Начну с «тайны рождения». В интернете (что по-русски, что по-английски) сведения об Искре-226 – более чем лапидарны. Касаемо создания компьютера сказано так: «export of Wang 2200 to the Eastern block was prohibited by COMCON (Coordinating Committee on Multilateral Export Controls), and the computer design was apparently stolen by Soviet intelligence». Что в этом тексте самое замечательное – аббревиатура. Координационный комитет по экспортному контролю обозначался CoCom. Можно, конечно, и прописными буквами – COCOM. Расхождение в написании слишком велико для опечатки. Ладно, эмбарго комитет накладывал на экспорт в страны СЭВ – по-английски COMECON. Уже ближе но... не то. Что же такое COMCON? На этот вопрос легко ответит поклонник творчества братьев Стругацких – комитет по контактам с инопланетными цивилизациями. Но, думается, этот комитет к нашей истории отношения явно не имеет. В целом, приведенная легенда – редкостное нагромождение совершенно идиотских нелепостей. Советские шпионы воруют на Западе дизайн компьютера. На кой ляд, спрашивается, когда этими компьютерами битком набито здание в Охотном ряду, дом 1? Что, нельзя оттуда (из Госплана) взять пару-тройку машин, разобрать и реверсным инжинирингом восстановить дизайн? К тому же там и документация имеется, услужливо переведенная на русский самой же фирмой Wang Labs. К чему шпионские страсти, когда секрета никакого нету. А с какого бодуна КоКом будет запрещать экспорт персональных конторских машинок для обработки текстов и бухгалтерских расчетов, когда куда более серьезные мэйнфреймы IBM без проблем попадают в Союз. Ну и наконец, даты. Ужесточение торговых санкций против СССР (как и бойкот Московской Олимпиады) были реакцией на советское вторжение в Афганистан и датируются 1980 годом. Как раз в конце этого года (небось к «октябрьскому празднику» седьмого ноября приурочили) собрали первые машины на курском заводе «Счетмаш». Сделать за считанные месяцы дизайн компьютера и наладить его производство невозможно нигде, а уж в плановой советской системе – подавно. На самом деле проектирование началось еще в 78-м году и запуск в серию в 80-м был невероятным (по скорострельности) успехом. Но если работы развернулись в 78-м, то решения по ним принимались не позднее 77-го, иначе они не попали бы в план следующего года. Ну, а тогда у нас еще вовсю был «детант» и санкциями не пахло...

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

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

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

Что Искра-226 не является клоном Wang 2200, утверждали еще в те годы разработчики машины. Не без гордости за свою работу, но и не без сожаления. Потому что, если б действительно ее «передрали» (как СМ-4 передрали с PDP-11), то вся «ванговская» математика на машине работала бы без проблем и не нужно было б самим корячиться – писать интерпретатор языка Wang Basic (который в народе звали «васик» или «ванин бейцик»). Но тогда, правда, не получилось бы столь любимой в Союзе техники двойного назначения («мирный советский свеклоуборочный комбайн набрал первую космическую скорость и вышел на орбиту»)... Ладно, сейчас я не поленился найти в сети и почитать «ванговские» спецификации. Подтверждаю: совершенно разные машины. Архитектура «ванга», проектировавшегося в начале семидесятых годов, куда архаичнее «искры». Единственное, можно сказать, что Искра-226 сделана «по мотивам» Wang 2200.

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

Wang-2200

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

С начала шестидесятых в компьютерном дизайне образовалось направление «высокоуровневых» машин, реализующих «в железе» такие языки, как АЛГОЛ, ФОРТРАН или КОБОЛ. Идея в чем: уровень команд традиционных машин, он мелковат для человека – мышиная возня с числами и цепочками байтов, сравнения и перескоки из одной точки программного кода в другую. Именно поэтому, из-за чрезмерной дробности, программирование на машинном языке (ассемблере) такое занудливое и тормозное. Так вот, высокоуровневая машина потому так называется, что непосредственно оперирует объектами языков программирования высокого уровня. Она «знает» о массивах, списках, структурах, подпрограммах, операторах цикла и выбора – умеет непосредственно работать с этими, довольно сложными сущностями. Конечно, конструкция такой машины по сравнению с традиционной усложняется (стоимость изготовления возрастает), но зато работа человека, отладка программ упрощается (и совокупная стоимость автоматизированной системы, вроде бы, снижается). Какое из направлений «лучше» и «правильней» – решает рынок. Доминировала (и доминирует) традиционная архитектура, однако ее оппоненты тоже не бедствовали (и не бедствуют). Создание в 1961 году первой высокоуровневой машины B5000 связано с именем великого дизайнера Роберта Бартона, работавшего в старейшей компьютерной компании Burroughs (основана в 1886 года, на десять лет раньше IBM; начинала с производства арифмометров). С той поры и по сей день, без малого полвека выпускаются потомки B5000. Уже и компании нет (в год своего столетия Burroughs объединилась с другой знаменитой фирмой – Sperry Univac, образовав корпорацию Unisys), а машины по-прежнему производятся. Без особого шума, мало кто о них слышал, но всякий, кто хоть раз делал банковский перевод, неявно с ними дело имел. Всемирная межбанковская сеть SWIFT изначально построена на этих компьютерах и вот уже 35 лет они перелопачивают по два с половиной миллиарда платежных транзакций в год. Так успешным оказалось детище Боба Бартона, или нет?..

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

А вот пример сокрушительной неудачи, полного провала, постигшего не кого-нибудь – корпорацию Intel. Сейчас мало кто вспомнит, что с середины семидесятых Intel проектировал супер-микропроцессор iAPX 432, который призван был заменить их же исключительно удачные процессоры 8080 и 8086. Забыли, что лучшее – враг хорошего. В амбициозный проект вбухали огромные деньги. Процессор должен был аппаратно поддерживать ни много ни мало объектно-ориентированный язык Ada (невероятно модный в то время). Какие средства пошли только в пиар, в информационную поддержку проекта видно из того факта, что где-то году в 81-м в Союзе перевели и издали фундаментальный двухтомник с подробным описанием архитектуры процессора (который я старательно за каким-то лешим проштудировал – такой ажиотаж был). А надо отдать должное советским научным издательствам – там, где дело не касалось идеологии, переводились и печатались действительно лучшие, наиболее популярные и значимые книги (во всяком случае, по компьютерной тематике было так)... И вот, наконец, в начале восьмидесятых долгожданные «микромэйнфреймы» выпустили в свет и... пшик! Получились они слишком сложные, слишком медленные и вскоре их «прикончили» шустрые, простые и недорогие «интеловские» же процессоры семействе x86. Кажется, после этого громкого фиаско новые проекты высокоуровневых машин уже не начинали – идея была дискредитирована.

Но в шестидесятые-семидесятые, на гребне популярности, подобных проектов было немало. В том числе, особое направление – ориентированные на пользователя мини-компьютеры. Замысел такой: интерпретатор языка и программный редактор, простенькую операционную систему и набор утилит – все это «вшить» в машину, чтобы человек (не только и не столько программист, но грамотный инженер или ученый) включил ее и сразу начал работать – составлять несложную программу, тут же ее отлаживать, выполнять и анализировать результаты – все в диалоговом режиме. Популярной машиной этого класса был упоминавшийся раньше Wang 2200. Другая примечательная разработка семидесятых – IBM 5100 Portable Computer. Весил сей «портативный компьютер» 25 кило, но для того времени и с учетом его начинки (пользователю предоставлялись на выбор два языка – Бейсик и APL) это было выдающееся достижение. Машины серии 5100 не без оснований называют «персональными компьютерами» и прямыми предшественниками эпохального IBM PC.

Но значительно раньше, еще в 1965 году, в Киеве, замечательным дизайнером Соломоном Погребинским была создана «машина для инженерных расчетов» МИР-1 – одна из самых первых в этом классе. Машина без преувеличений удачнейшая. Я десять лет работал в проектных конторах и могу свидетельствовать: инженеры-расчетчики, которые ни до «миров», ни после них (вплоть до появления на «персоналках» расчетных систем вроде Matlab или Mathcad) не могли самостоятельно решать свои задачи на компьютере без помощи программистов, на «мирах» – решали. Неудивительно, что машину нежно любили в проектно-конструкторских институтах и бюро, впоследствии долгие годы ностальгически о ней вспоминали. Она стала легендой, а уже в новом веке у легенды явственно стал ощущаться конспирологический душок. Но об этом – в следующей главе.

Серия сообщений "Программирование":
Часть 1 - Создать фото прикол онлайн.
Часть 2 - Всё Лучшее В Архив
...
Часть 13 - История программирования в СССР. Часть I. Продолжение.
Часть 14 - История программирования в СССР. Часть II.
Часть 15 - История программирования в СССР. Часть II. Продолжение.
Часть 16 - История программирования в СССР. Часть II. Окончание.
Часть 17 - Без заголовка
...
Часть 29 - В Японии создали робота, который занимается сексом лучше человека!
Часть 30 - Революция искусственного разума
Часть 31 - Как правильно заряжать аккумуляторы на телефоне и ноутбуке

Рубрики:  История/СССР
Метки:  

 

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

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

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

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