Про историческую конференцию SORUCOM

В поисках источников по истории информатики в СССР набрёл на международную конференцию SORUCOM, тематика которой звучит как «Развитие вычислительной техники в России и странах бывшего СССР: История и перспективы». Если кратко, раз в N лет вместе сходятся ветераны разработки железа и софта, делятся воспоминаниями, докладами, исследованиями, материалами. В результате публикуют «Труды SORUCOM-YYYY», где YYYY год проведения конференции. К настоящему времени их было четыре: 2006 (Петрозаводск), 2011 (Великий Новгород), 2014 (Казань), 2017 (Зеленоград). Описание (и дух) первого собрания можно прочитать вот тут.
Слава всем причастным, в сети есть материалы всех конференций:

К сожалению, за 2006 год PDF’ку (удобно для читалок) не нашёл, про HTML ниже. Только печатную обложку. Не понять, можно ли купить книгу.

На этом можно было завершить текст, но после прочтения 1000+ страниц этих текстов дополню.
Сборники очень эклектичны. Вы либо читаете / листаете всё подряд, либо точечно знаете, какой материал нужен (и потому игнорируете остальные). Под одной обложкой статистические доклады, небольшие биографические заметки, полемические доклады (вроде моей любимой темы о роли перехода на ЕС), микромемуары, рассказы про учреждения, даже почти справочные тексты про архитектуры машин. Солянка та ещё. Если не знать и после первых десятков страниц решить, что дальше так же, потеряется возможность узнать информацию из первых рук.
Нюанс ещё в том, что авторы… как бы так мягко… старой школы. Т.е. вот ни разу не поколение 140 символов. У них нет задачи развлекать или доступно донести, т.к. аудитория состоит из таких же докторов наук и профессоров, которым не надо подавать арифметику комиксами. Однако, если уж вы начали читать, значит, мотивации достаточно для преодоления первой непривычности.
Очень жаль, что о таких конференциях узнаёшь едва ли не случайно. Если бы я не листал подряд чуть ли не все страницы замечательного сайта Виртуального компьютерного музея, не добрался бы до материалов конференций, а там не обратил бы внимание на SORUCOM… Ну хорошо, что мимо не прошло. Если вдруг однажды вы захотите узнать / понять истоки некоторых событий и решений в нашей истории, вспомните про SORUCOM, стоит того.

Настоящие программисты

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

  • Знают ли разработчики историю профессии.
  • Умеют ли (хотят ли) от цитаты дойти до статьи.
  • Понимают ли контекст разработки разных периодов (статья 1972 года).
  • Понимают ли смысл, цели и причины цитаты / статьи такого рода.

Любопытство удовлетворил. Заодно подобрал типовую цепочку реакции, скажем так, ответ на которую попытаюсь дать в рамках темы. Итак (не досимвольно, исправил пару опечаток):

— Думаю, это самая цитируемая отечественная цитата о программистах за всю историю.
— Цитируется, потому что программистам нравится думать, что они особенные?
— Кто придумал это деление на программистов и просто кодеров? Это просто название профессии. Если в трудовой написано программист, значит, программист. Зачем придумывать словам новые значения?
— Кто такой настоящий программист? Повара, сантехники и проектировщики тоже делятся на настоящих и ненастоящих?

Подчеркну: это нормальная обычная современная реакция. Так получилось. Именно эти слова выбрал уже и потому, что в ленте удобно рядком, мог бы и другие такие же, смысл не меняется.

Начну с Ершова Андрея Петровича. О нём много статей и воспоминаний, потому кратко: один из первых программистов СССР, теоретик и практик, поднял Новосибирскую научную и практическую школу программирования, автор, глава, лауреат, инициатор, изобретатель и т.д. Во многом благодаря ему в школах появилась информатика. Плотно дружил с западными эквивалентами, был на диво выездной (хоть каждую поездку одобряли чуть ли не в ЦК). В общем, один из тех титанов, что это ваше программирование придумывал, когда программирования не было. Человек, с которым можно не соглашаться, но если он чего говорит о программировании, а вам на десятое прочтение в десятый раз кажется, что сказана чушь, читайте ещё и ещё, пока не снизойдёт просветление.
Продолжу эпохой. В 1960..1970 гг. программистов в СССР было мало, достаточно вспомнить справку 1970 года: «В СССР сейчас имеется порядка 3,5 тыс. ЭВМ и около 3 тыс. системных программистов». Это как если бы в современной России оставить только программистов Яндекса, остальных отправить на картошку. Почти все они были с хорошим высшим физмат-образованием, очень многие занимались тем, что сейчас можно с большой натяжкой классифицировать как системное программирование с одним важным уточнением. Если современный системный программист пользуется ассемблером и C, его коллега из прошлого создавал ассемблеры и C. Причина простая: многие модели ЭВМ поставлялись as is — вот железка, вот какой-нибудь базовый набор софта, дальше сами. К другу за чемоданом перфокарт не пойдёшь, т.к. у друга другая модель. А у другого друга третья. И документации мало.
В итоге с качеством, количеством и занятостью программистов тогда сложилась занятная ситуация: они часто и массово решали задачи «напередописать ОС», «напередописать язык» (транслятор, компилятор, интерпретатор) и т.п. По пути приобретали квалификацию, которая позволяла реализовывать собственные идеи (потому к 1980-м в СССР было 10+ диалектов Фортрана, например). Попробуйте сами: купите Arduino без ничего. Пока запустите на ней первую внятную программу, кандидатскую напишете.
Чем больше становилось компьютеров, тем больше становилось людей, решающих с помощью компьютера не задачи программирования, но задачи своих областей. Химики, физики, экономисты, биологи — все они учились программировать до уровня, который был достаточен, если хотели выполнение своих задач ВЦ. Биолог, моделирующий биоценоз подмосковного леса, не нуждался в знании того, как работает ЭВМ, не хотел возиться с нюансами выполнения разных команд, он хотел на ручки и работающую программу.
Интересный документ такого разделения — История Альфа-группы: «Это была первая группа, которая служила посредником между разработчиками и программистами». Обратите внимание на то, как первое поколение программистов в 1960-х начинает пополняться новыми классами. Появляется класс из предыдущего абзаца. Затем появляется класс программистов, которые уже не «разработчики [системных программ]», но сами по себе являются посредниками уже между, скажем, биологами (не желающими программировать) и программированием.
С годами слоёв «посредников» всё больше и больше. Вектор роста годовых колец — от разработчиков к «биологам». Каждое следующее кольцо по отношению к предыдущему поставляет пользователей. Очевидно, этот вектор на каждом слое избавляет разработчика от «лишних» знаний области программирования (информатики, кибернетики, etc). Всего спустя 45 лет между массовым разработчиком и знаниями с умениями, которые потребовались для того, чтобы этот разработчик мог программировать, находится огромная пропасть.

В 1972 году такое развитие было ясно Ершову. Во всяком случае, я в этом уверен. Конец 60-х — раскрутка маховика тотальной ЭВМизации вместе с переходом железа на IBM System/360 (модели Ряда 1 вышли в производство уже с 1971 года). Массово поднималось обучение информатике в вузах, сам Ершов бульдозером двигал информатику в школы (и додвигал до 1985 года — тогда на высшем уровне приняли решение), требовалось всё больше инструментов (ОС, языков, программных пакетов) для тех, у кого нет возможности получить специальное образование с углублением. Отсюда в статье упоминание «конвейера», «работы ради работы» и «работы ради денег», наконец, финальным аккордом «Сделав искусство программирования общим достоянием, мы лишимся своей элитарной исключительности перед лицом повзрослевшего человечества» (NB: не поймёте message этой фразы, не прочитав всю статью).
Потому, думается, Ершов описывал идеального программиста, того инженера и учёного, которого хотел сохранить под грядущим валом массового программирования и неизбежной «конвейеризации». Началось размытие профессии, размытие понятия «программист» с размытием всего того, что делало программирование элитарным занятием. В 1950..1960 гг. определять эталон не требовалось. Почти любой программист самим занятием принуждался быть эталоном — умным, талантливым, образованным, изобретательным и энергичным. А потом всё, началось.
В книге [Нариньяни А.С. Перспективы развития вычислительной техники и интеллектуализация ЭВМ. Новосибирск, 1984] граница проведена уже чётче:

Системный программист — специалист по разработке универсальных компонентов матобеспечения. Обладает профессиональной подготовкой, владеет инструментальными средствами разного уровня.

Прикладной программист — специалист по разработке проблемно-ориентированных систем; как правило, владеет средствами, специализированными для соответствующей области применения.

Обратите внимание на разницу: прикладной программист уже не обладает «профессиональной подготовкой» и не владеет средствами «разного уровня».

Прошло 30 лет. Современный прикладной программист представляет собою на историческом фоне любопытное создание. Профессиональная подготовка либо отсутствует, либо сугубо прикладная (учим языки, а не теории языков). Проблемная область от него зачастую настолько закрыта удобными абстракциями, что не вникает и на мизинчик (всё равно, что в базу сохранять, яблоки или запчасти Роскосмоса). Изобретательство… ну, как бы ловчее один готовый кирпич к другому пристроить, да чтобы вся стена трещинами не покрылась. Самоограничение (о да, я снова сегодня спорил на тему «знаний вне текущих задач») приводит к тому, о чём Ершов косвенно упомянул:

Конвейерный метод в программировании может либо убить интеллектуальную компоненту в труде программиста, либо вызвать неврозы из-за противоречия меду монотонностью и трудоспособностью работы. Представьте себе человека, обязанного 8 часов в день, 5 дней в неделю, 500 недель в году, решать одни кроссворды, и вы поймете, что такое программист, специализирующийся, например на написании редактирующих программ.

Да чего понимать, вон с одной стороны толпы выгорающих, с другой стороны толпы без интеллектуальной компоненты. А скажи им, что хорошо бы за рамки выйти, так как обычно.


И вот тут каждый сам решает, кто он. Программист? Настоящий программист? Кодер? Не программист вовсе, но пользователь? Программист, который специализируется на написании DAO на языке XYZ определённых версий в определённых проблемных областях? В какой мере красивые слова Ершова применимы к вам? Всё это не так уж важно. Разве что для горячих дискуссий годится. Всё, мне кажется, за десятилетия уже на наших глазах выйдет на другой уровень того, с чего началось. Программировать станет настолько легко и просто, что это станет общим знанием. Собери из миллиона готовых кубиков типовое решение своей типовой задачи. Продавщица Люся в киоске в ожидании вечерних бухариков будет лениво таскать по экрану компоненты с очередными эмодзи, позитивно изображающими циклы и ветвления.
Но на горизонте в горах в высоких хрустальных башнях будут сидеть новые «системные программисты» 1950-х, только уже 2050-х.

Факультативное чтение для любознательных:

IT в СССР (как убили вычтех, сумбурные итоги)

Подводить итоги решения 1969 года конспективно сложно, жахнуло по всему на 20 лет вперёд по всем фронтам. Но попробую, обозначив ключевые, как считаю, моменты.
Выбор сторонней системы в качестве эталона и стратегия совместимости с нею автоматически ставит копирующего в позу догоняющего и опаздывающего. Зачастую система версии 1 оказывается в руках тогда, когда производитель уже доводит версию 2 в лабораториях, а версия 3 зарождается в умах. Вы добываете версию 1. Реверсите её, разрабатываете свою производственную документацию, отдаёте на заводы, те начинают осваивать… Бац, в магазинах уже версия 2, а вы ещё и с первой не разобрались.
Вот в эту позу и согнали советский вычтех. Создали огромный НИЦЭВТ, набили инженерами и конструкторами, выдали план. Под зонтик Ряда набрали и других. Раковский (зампред Госплана и председатель МПК по ВТ) в печати рапортовал про «20 тыс. ученых и конструкторов, 300 тыс. рабочих и техников на 70 заводах». Вся эта махина переориентировалась на освоение выпуска новой для них архитектуры.
Также следует учитывать нюанс, которым постоянно играют в спорах, поворачивая в нужные спорщикам стороны. Как ни странно, но доля именно украденного и полностью склонированного на фоне всей номенклатуры в СССР была довольно мала. Часто копировались интерфейсы, а вот начинка была либо целиком своя, либо творчески доработанная (ниже пример из Еревана), либо по лицензии. Что, к слову, позволило СССР закрыть авторскими свидетельствами и патентами часть ЕС ЭВМ, а потом их ещё и по миру продавать. Да, совместимы с IBM 360, но железо другое. В основном.

Средний класс ЭВМ запускали серией ЕС (четыре поколения: Ряд-1..4). Ряд-1 — копирование IBM 360.
По времени судите сами. Т.к. работы по ЕС ЭВМ начались раньше, в 1971 году совместные испытания проходила уже первая ЕС-1020. Тогда же и начали выпускать. Год релиза оригинала — 1964. Отставание в семь лет.
По особенностям реверсинга снова судите сами (тут поможет глава «ЕС-1033 — триумф…» по воспоминаниям Бадрутдиновой (по ссылке 34-страничный PDF). ЭВМ ЕС-1030 разрабатывали в Ереване. Документации нет, потому в ход пошла креативность: выкинули из системы всё, что казалось лишним. Ну и отдали заводу, мол, я сделяль. Завод даже ДОС запустить не смог, ибо армяне бодро выкинули, как оказалось, элементы совместимости линейки IBM 360. Заводу пришлось выпускать 101 (!) бюллетень нулевых доработок. Один фиг машина оказалась капризная, ненадёжная, с производительностью в полтора раза ниже ТЗ. Выпускать начали с 1972 года (ещё год отставания).
А вот над этим абзацем я долго думал:

К концу 1973 г. по программе ЕС ЭВМ прошли испытания шесть моделей ЭВМ и 99 типов внешних накопителей, устройств ввода-вывода и телеобработки данных. Параллельно в эти же годы разработаны две версии ДОС и две версии ОС ЕС, общим объемом более четырех миллионов команд. Программа создания ЕС ЭВМ первой очереди была практически завершена.

Как читать эти слова про завершение программы Ряд-1? Завершена работа по догонялке уже 9-летней давности серии. Всё-таки пришлось писать свои ОС, вложив офигилиард ресурса (4М команд в начале 70-х — это как сейчас заново Windows написать и отладить). Произошла адовая перестройка производства (99 типов периферии). Просто замечательно, если учесть, что в 1974 году Intel выпустила уже процессор 8080 (да и то с опозданием).

Такой вот старт серии.

Если ЕС относились к большим и средним ЭВМ, то СМ ЭВМ (о которых постоянно забывают) — малые, на которые тоже был огромный спрос. И снова курс взяли на копирование и обеспечение совместимости с западным софтом. К слову, занятно читать целый слой статей, в которых ни единого слова об этом. Описание архитектуры, списки разработчиков, производство… Остальное за кадром, ага. А за кадром следующее (количество моделей указано минимальное, т.к. также было много специальных исполнений, например, 14 в ВК СМ 1700):

  • Линия АСВТ (совместимость с Hewlett Packard HP-2000): 8 моделей.
  • Линия PDP-11: 11 моделей.
  • Линия VAX: 3 модели.
  • Линия Intel: 8 моделей.

Итого 30+ моделей, суммарным выпуском около 60К за все годы. Говорят, получилось лучше, чем ЕС. Правда, злые языки добавляют, что это по причине меньшего количества деталей, меньше возможности накосячить.


Опоздание опозданием, а что с качеством? Да как всегда. Я сам патриот хоть куда и за движ «СССР — родина слонов», но про ЕС ЭВМ почти ни одного доброго слова (окромя тех, кто их министерски выпускал, понятно) не вычитал. Вот в 1974 году сражаются с ЕС-1050: «По разным причинам ни одна из выпущенных до того времени ЕС-1050 не работала, и репутация машин ряда ЕС катастрофически падала». ПО РАЗНЫМ, Карл. Любопытные воспоминания, кстати. Коротенькие, но там и про вольтаж микросхем, и про непропайки, и про выбрасывание систем контроля. Также можно почитать и вот эту заметку: «В первой половине 80-х там стояли две ЕС1022. Обслуживало их человек 10, и без работы они не сидели».
Можно зайти с другой, менее земной стороны: в материалах специальной Комиссии Государственного комитета по науке и технике при Совмине СССР оценивают отставание от США по надёжности аппаратных и периферийных устройств во второй половине 1960-х в 10 раз. Грубо говоря, если американский инженер долбался с деталью раз в десять дней, то наш каждый день. // Этот же комитет, к слову, обозначил в 1966 году, что у одной лишь IBM конструкторов и производственной мощности больше, чем вместе у всех предприятий и организаций СССР, занятых вычтехом.
Каждый год задержки поставки ЭВМ потребителю означал наращивание отставания на год. Сейчас это не катастрофа (бжчки, да в 2008 году уже вовсю 4-ядерные Intel были с SSE4, хоть через десятилетие стойки забивай ими), а в те годы революционного развития такой разрыв — пропасть.

Цифровую микроэлектронику СССР и полупроводники в целом только ленивый не пнул. Отставание в 5..8 лет местами прям очень оптимистичная оценка. Мануэль Кастельс в начале 90-х и вовсе оценил в 20-летие, считая, что в 70-х наступил перелом и не зарос, так сказать.
В этом месте следует запомнить следующее: СССР мог в прототипы, эксперименты и изобретения, но в упор не мог в серийное производство нужным количеством с нужным качеством. Потому зачастую споры слепых с глухими. Одни твердят про первенство в том или ином, другие показывают фотографии пустых полок магазинов. Правы обе стороны. Но первенство осваивалось в стенах лабораторий, а вот на заводах была беда… ну… нет, там было множество хороших людей. Но делали они такоэ… Я внизу избранную библиографию даю, в ней книга Симонова, а в ней много цитат из архивов, а в цитатах упоминается доля брака. Лучше эти числа не видеть.
Здесь тоже множество проблем уже со старта. Но снова одна из стратегических — курс на копирование, клонирование, погоню за США. Тем, кто взвивается в праведном гневе, советую изучить историю серии К155, например, в контексте патентной чистоты. А если кажется, что это всего лишь примерчик, советую изучить масштабы использования этой серии. Как по мне, одна из важнейших в СССР за все годы. Правда, с ней тоже так себе получилось. ЕС-1030 сделали на К155, а поляки ЕС-1032 по той же схеме на SN-74 (оригинал, ага). Автоматически получили вдвое выше производительность. Бывает.

Чего же в итоге добились этой спорной реформой 1969 года? Тут тоже стоит хорошо подумать до того, как обозначить точку отсчёта. Если принять за точку тот абздольц, в котором учёные с инженерами пытались выкрутиться, и оценивать достижения относительно «ничего», будет множество поводов для гордости. Если в каждый год поставить рядом США (раз уж так стремились), получится неловко. Например, можно сказать, что в СССР на заводе «Ангстрем» освоили толстоплёночные схемы и освоили, ура! А можно из угла сказать, что в то же время (пока в СССР начинали осваивать) в США у IBM «уже работал завод-автомат, выпускавший 240 миллионов таких схем в год» (воспоминания Сергеева тоже рекомендую к вдумчивому осмыслению).
Всего с 1970 года по 1997 год в СССР было выпущено 15.5K+ ЕС ЭВМ всех серий и 60K СМ ЭВМ всех серий. Для сравнения: в 60-х IBM ежегодно продавала по 10K..15K, а PDP-11 было продано больше 500K. В масштабах СССР такой выпуск просто грустный. Следует признать, что другие модели некоторое время продолжали разрабатывать и выпускать вплоть до 90-х (что тоже, к слову, забавно). Ну т.е. нет, покрыть СССР слоем ЭВМ ни разу не получилось.
Все отрасли вычтеха были направлены на изучение, копирование, доработку, изготовление зарубежных образцов даже в ущерб здравому смыслу. Делалось это в условиях всё тех же эмбарго. В СССР нельзя было продавать ничего, что хоть как могло быть использовано не в мирных целях, так сказать. От материалов до готовой продукции. Потому добывали нужное в обход, через нейтралов, через подставные фирмы, через третьи руки. Яркий пример: «В августе 1973 года предприятию была поручена разработка и организация производства карманного микрокалькулятора на интегральных схемах с автономным питанием (БЗ-04). В качестве прототипа был взят калькулятор японской фирмы “Шарп”, который поступил в продажу в Японии месяц назад. .. так как никакой документации, кроме купленного в Японии образца, мы не имели» (цитирую по Сергееву). Т.е. ну вот обыденно так. Можно раз за разом перечитывать эту цитату, всё глубже погружаясь в контекст великой страны.
Или вот школьные компьютеры. Старый (2012 год!) пост на Хабре. Одним это «ого, 16 моделей!», но другим это «ага, DEC PDP-11, Intel i8080, Zilog Z80, Intel i8086/8088, 6502».
Программирование… Пожалуй, тоже там же. Я с удовольствием слушаю рассказы о том, как и что было, да и читаю тоже. Но в 80-х писал на BASIC, в 90-х на Pascal, в 2000-х на C, C++ и Java. А также SQL, HTML, JavaScript. И ещё несколько слов, в которых ни единой буквы из кириллицы. Советские книги, которые собирал, тоже были про Ada, Algol, Fortran, PL/1 и т.п. Снова ни одной буквы. В разговорах с советскими программистами рисовалась та же картина (ну, с учётом их времени, понятно). То, что выбивалось из мейнстрима, было загадкой: где найти? где посмотреть? где попробовать?
И так бесконечно. Признаюсь, бОльшую часть материала за последние недели две прочёл / пролистал впервые. И сейчас только один вопрос: что называть советской школой после середины 60-х? Вопрос не к головам, не к рукам, не к историческим реалиям (совершенно адовые примеры партийного «руководства»). Вопрос к самому определению. Советская школа чего-то в вычтехе — это школа копирования? Или школа превозмогания ради достижения слабого типового результата, достигаемого в нормальных условиях? Когда инженеры микроэлектроники углубляют подвал штыковыми лопатами и выгоняют продуктовый магазин из здания будущего завода — это круто или нет? Когда этот завод потом занимается погоней за США и героически догоняет на разномастном оборудовании результат N-летней давности — это круто или нет? Объективного ответа у меня нет. Субъективный есть: не круто. Вычтех был просран, пардон. Не догнали, не перегнали. Всплески героических подвигов и превозмогания говорят лишь о силе, воле и разуме отдельных людей и коллективов, но не про отрасль в целом. А в целом всё чрезвычайно грустно и печально закончилось. До сих пор хлебаем. Такие вот итоги. Можно ли было лучше? Не знаю. Наверное, можно. Только в условиях раннего феодализма 1950..60-х не получилось.

Тут вот избранная библиография. Опорные книги, которые достаточно полно передавали либо факты (цитаты из документов, спецификации), либо дух эпохи (воспоминания с невинными деталями). Литературы, конечно, на порядки больше, но если вам любопытно раскрутить историю самостоятельно, начните с этих книг:

  • [Малиновский Б., Ревич Ю. Информационные технологии в СССР. Создатели советской вычислительной техники. БХВ-Петербург, 2014] — хорошо описан ранний этап советского вычтеха.
  • [История информационных технологий в СССР. Знаменитые проекты. Компьютеры, связь, микроэлектроника. Книма, 2016] — сборник статей, хорошо про всплески превозмогания и успехов.
  • [Симонов Н.С. Несостоявшаяся информационная революция: 1940-1960. РФСОиН, 2013] — история электроники, микроэлектроники в контексте СССР, много работы с архивами.
  • [Сергеев В.С. Страницы жизни. Ангстрем, 1998] — мемуары технолога и директора вокруг «Ангстрема».
  • [Карпилович Ю.В. Так было. Минск, 2004] — мемуары главного инженера Минского завода ЭВМ.

Пожалуй, хватит.

IT в СССР (как убили вычтех, развязка)

Повторюсь и ещё раз скажу, что умных голов было много, потому о проблеме зоопарка думали на всех уровнях ещё с конца 1950-х. Без высокой степени совместимости невозможны проекты ЕГСВЦ Китова (1958..59 гг.), ОГАС Глушкова (1962..198x гг.), проект, мелькнувший в архивах Ершова, сайт которых упорно лежит (1964 г.). Эти проекты сами по себе очень интересны и погибли по другим причинам, об этом в другой раз, возможно. Факт в том, что не проснулись однажды с осознанием, видели и размышляли.
Но размышлять мало, надо делать. А это не получилось. Сейчас коллективы разработчиков и заводчан назвали бы «недоговорными». Вы могли договориться с кем-либо в личном порядке, но если требовалась официальная поддержка… Беда. Госплан, бюрократия, очереди производства, подковёрная грызня ведомств, планы, сроки, внезапная срочность к знаковым датам.
Попробуйте сами. Вы Иванов, главный конструктор ЭВМ Петя-1, у вас за плечами десять лет оригинальных архитектур и десятки людей в коллективе. И есть Сидоров, главный конструктор ЭВМ Вася-2М, у которого тот же анамнез. Приходит к вам Сидоров и вы за чайником чая обсуждаете унификацию всего. Согласны. Унификация рулит. Но из этого следует, что часть уж очень оригинальных архитектур надо выбросить, а часть переделать, внедрив общие компоненты. Скажите, Иванов, вы готовы отказаться от Пети-1? От государственных наград? От премий? От места автора первой в мире полуторичной 11-разрядной квадратно-выпуклой ЭВМ, выдающей 146 операций в венерианскую секунду? А в глаза коллективу посмотреть? Это что же, они тоже всего лишаться? И все эти годы они неправильное делали? А как вы своему министерству объясните, что Сидоров из другого министерства более стратегически разработку вёл? В конце концов, это у Сидорова его Вася-2М фигня, а вот у вас уж точно наикрутейший Петя-1!
Внутри СВОИХ систем конструкторы занимались унификацией, конечно. Нормальный инженер не может этим не заниматься. Особо достоин упоминания Рамеев, заложивший в своих Уралах потенциал единой линейки ЭВМ на разные уровни задач. Но и всё, пожалуй.

В таких ситуациях приходит руководство и принимает волевое решение. Могло и позже, наверное, но с 1965 года по миру начались поставки гениальной в производстве, унификации и развитии IBM System/360 (тут все разработчики встали и поклонились упоминанию источника восьмибитовой чумы), которая прям вот была почти именно то, что всем надо было. Руководство напряглось и обратилось к экспертам, требовалось разработать аванпроект ОКР «Ряд» (линейка машин, совместимость и прочее).
Эксперты (ИТМиВТ во главе с Лебедевым) в ответ в 1966 году выдали вялый 50-страничный отчёт. В нём скептически отозвались об IBM 360, да и ничего толкового не предложили. Министерство озадачилось. Каждый крупный коллектив вместо общей архитектуры толкал свою (Москва, Киев, Минск, Ереван, Пенза). Министерство озадачилось ещё больше. Ведь всё честно сделали. Дали учёным и конструкторам возможность высказаться, выработать общий вектор. Не получилось. Ну ок.
Разработку аванпроекта поручили сторонникам (как понимаю по воспоминаниям Левина) выбора IBM 360 в качестве основы и всё было решено ещё ДО января 1967 года (заседание, на котором решение утвердили) и уж точно до 1969 года (финальное совещание с ведущими разработчиками). Почему я считаю, что решено всё было ДО?
Большинство стран, участвовавших в «Ряде», было против IBM 360, топили в пользу английской Системы-4. Только ГДР, уже осваивавшая систему, была за американцев. Большинство участников совещания 1969 года были против IBM 360, топили за Систему-4, раз не получилось своё проработать. Основные аргументы были очень весомыми:

  • СССР не мог покупать у IBM ничего, ибо эмбарго.
  • К моменту клонирующего производства IBM 360 уже была бы значительно устаревшей системой 10-летней давности.
  • Связей с IBM нет никаких и не предвидится, потому никаких стажировок, поддержки и остального.
  • С англичанами уже связи, уже стажировки, уже готовность к поставкам, помощи, обучению, наладке.

А со стороны сторонников аргумент один: у IBM 360 огромный богатый софт, на который ушли тысячи человеко-лет, мы круто победим, его стырив через тех же немцев. Ура-ура. По пути и свой напишем, не беда. Потому IBM 360, всем спасибо, расходитесь.

Накал был такой, что в оставку тут же подали Сулим (ему предстояло объяснять англичанам срыв всех предварительных договорённостей) и Рамеев (понимавший последствия принятого решения и тоже участвоваший в процессе с Системой-4).

После чтения конспекта заседаний и докладных и вообще осмыслении у меня следующие соображения… За два-три года до 1969 года все узнали мнение всех сторон. И это мнение не менялось. Именно обсуждения и диалога я нигде не нашёл. Стороны только фиксировали свою позицию и больше не колебались. Это инженеры и администраторы довольно небольшой прослойки, не первое десятилетие знакомые. Битые жизнью, партией и вообще. Уверен, для них не был сюрпризом ни итог 1967 года, ни итог 1969 года.
Да, это глупый выбор. Очень наивный, очень оптимистичный. Но у него есть причины.
Официальная нередко за кадром в блогах или без акцента, а я акцентирую: острая нехватка программистов и программ. Компьютеры без софта не нужны. Софт пишут программисты. При разработке новой системы требуется новый набор ВСЕГО для всех отраслей от операционной системы до складских журналов. Делать этот софт было некем. Отсюда и такой упор на то, что вот у IBM овердофига всего, писать заново не надо, достаточно обеспечить совместимость. На 70% выбор архитектуры был вызван выбором программного обеспечения.
Неофициальная, мне кажется, тоже имеет право на. Вы министр. Перед вами разработчики компьютеров, которые за годы не смогли договориться и выпустить единое. Перед вами заводы, которые за годы не смогли наладить стабильное и качественное производство. Перед вами программисты… ах да, их нет. А те, что есть, развлекаются переписыванием кода под 25+ систем. Перед вами Госплан и партия, которые вообще понятия не имеют, чего хотят, но хотят этого очень. Вот вы точно будете тем же людям давать вариант, с которым они уже не справились? 20 лет анархии, феодализма и махновщины. Давшие интереснейшие результаты для науки, но не учитывавшие интересы страны.
Вот, собсно, начальственный тапок по столу и стукнул. В этой истории отлично выступили все. Интересно отметить и то, что упускают из виду те, кто упоминает Уралы в качестве альтернативы: Уралы не выдвигались. Это замечательный ряд машин с большим заделом, готовые для сети, пошедшие в серию. Но напомню: каждое КБ тянуло одеялко на себя и фантазировать на тему «советские конструкторы единым фронтом выступили за отечественную разработку [любого конструктора]» не стоит. Не было такого. Этот шанс тоже профукали.

С 1969 года и отсчитывают начало конца. Но почему? Всё-таки за основу взяли популярную и мощную систему. Да и выпуск своих систем не прекратили, да и вовсе продолжили разрабатывать. Как и ожидалось, не всё просто.

Продолжение следует.

IT в СССР (как убили вычтех, зоопарк)

Можно сказать, что до судьбоносного 1967 года вычтех СССР за [условно] 20 лет добился многого. Прошла пора первых пробных и полуподпольных (Брук отжигал) экспериментов, компьютеры пошли в серию. Даже не так. В СЕРИИ. Бегло осмотрим успехи только лишь «массовых» или значимых выпусков, оставляя за кадром специальные машины. В скобках количество выпущенных ЭВМ до 1967 года. Ну, примерно, т.к. разбивки по годам я не нашёл.
БЭСМ-1 (1), БЭСМ-2 (67), БЭСМ-4 (30), БЭСМ-6 (завершена к 1966 году, до 1987 года выпустили 355), М-20 (20), Днепр (500), Весна (19), Снег (20), Киев (2?), Минск-1 (220), Минск-11 (11), Минск-12 (5), Минск-14 (36), Минск-16 (1), Минск-2 (118), Минск-22/22М (734), Наири (500?), Сетунь (46), Стрела (7), Урал-1 (183), Урал-2 (139), Урал-3 (22), Урал-4 (30). А ещё Мир, Проминь, Раздан, Урал-11. И ещё машинки, но я утомился выписывать.
Считаем. 25+ моделей, 2700+ экземпляров. Штуковины размером от шкафа до опенспейса. От суперкомпьютеров до боевых середняков «обычных» заводов. И это лишь к моменту, когда проблему озвучили с верхов, а ведь каждый год появлялись новые модели в ещё бОльших количествах.

Итак, проблема: они друг с другом не совместимы. Некоторые ламповые, некоторые полупроводниковые. У одних в байте 6 бит, у других 7. Или вот Сетунь вообще троичная ЭВМ. Разная разрядность. И системы команд разные. И периферия. Всё, блин, разное. Промышленность не успевала лицо к ладони прикладывать.
Как, впрочем, и программисты. Ведь для каждой новой модели, у которой что-то было другое, софт приходилось писать заново. Писали его всё ещё в машинных кодах, языки едва начали выходить из стадии домашних заготовок, до Алголов и Фортранов в массах было далеко. Учитывая то, что лишь на ввод программы можно было потратить десятки часов… Ну прекрасно же. Романтика!
Вишенкой на тортик была традиционная беда советской промышленности — качество и количество деталей. В 1952 году попытка заменить немецкие лампы в М-1 на начавшие поступать отечественные пентоды 6X4 завершилась тем, что инженер поехал на завод лично отбирать несколько сотен ламп, уж больно разброс значений был велик (источник у Малиновского в большом тексте, поищите по слову «Светлана»). У военных с их спецприёмкой и цепким взглядом гэбистов на производство ситуация была лучше, но тоже не идеальна. Про опыт машиниста М-50 в 1959..1960 годах можно почитать здесь. По мелькающим в других статьях и мемуарах эпизодам… ну, думаю, автор объективно описал реалии.
Как итог, десятки КБ и заводов, сотни учёных, тысячи инженеров и армия рабочих множили зоопарк ЭВМ с азартом мартовских кроликов, тем самым умножая проблему ежегодно.

Что любопытно, на ЭВМ советская централизация и диктатура дала сбой. Творилась полная анархия, разработчики не знали друг о друге, заказы на заводы пропихивались разными занятными способами (тут помогут первые страницы книги «Так было» Карпиловича), программисты творили софт без единой базы (хотя… ну какое единство при такой «совместимости»?). Как в таких условиях реализовать что-либо плановое — не понять. Могу понять те гордость и спокойствие, с которым конструкторы вместе с историками описывают тот период, но есть нюанс: вспоминают свою работу, свои разработки. Был замечательный коллектив, с энтузиазмом придумали, воплотили, [не] получили премию. Но почти совершенно не упоминают то, с каким трудом это внедрялось, какие плелись интриги, как бригады с заводов мотались месяцами жить у пользователя в машинном зале, чтобы наладить очередное чудо. Боюсь, сгладило бы пастораль, на которой бяками сплошь партия и бюрократы.
Однако, следует признать, что всё-таки отрасль ЭВМ работала. Это сейчас не панибратски похлопывающая по плечу фраза, наоборот. Действительно хорошие архитектуры. Действительно толковое применение и зафиксированные рекорды. БЭСМ-6 няшка. Уралы няшки, Наири няшки. Всё нужное считалось быстро и по делу. Первые там, первые сям.
Но… Давайте на всего одном примере: Сетунь. В вычислительном центре МГУ силами 20 начинающих сотрудников создали ЭВМ. Ну и хорошо, да? Они сделали её троичной. Этому очень умиляются десятилетиями, но для неё надо было написать заново ВЕСЬ софт, у неё была лютая несовместимость вообще со всем. Ну кого из учёных это волновало? Никого. Сетунь начали толкать в серию. При этом Брусенцов отдал Казанскому заводу комплект чертежей, который разрабатывался для завода в Киеве. Казанские смотрели с интересом. Дальше началась эпопея с производством. Никому толком не нужная, никуда не влезающая по общей практике машина, созданная любителями вне системы производства. С грехом пополам выпустили 46 серийных образцов за 5 лет, да и всё. Зачем вообще её было создавать (а не выбить для МГУ имеющиеся варианты)? Зачем настолько выпадающую из ряда машину в серию? Зачем эту серию утвердили (потом опомнились и гасили)? Почему заводчан подключали так поздно? Сколько нужно разработчиков, чтобы поговорить с админом до запуска сервиса?
Так тонко подвожу к выводу, который сделал. Нет, учёные во всех этих историях не жертвы и не непонятые гении. В массе своей (если судить по разработкам) они упорно творили без оглядки на действительные нужды страны. В ущерб разуму, в ущерб стратегии, производству и общему благу пробивались свои архитектуры, но не архитектуры СССР, но Иванова, Петрова, Сидорова и ещё десяти дядь, решивших, что им никто не указ. Умные. Хорошие. Интересные люди. Но без нужного уровня [само]контроля. И укажу явно: были бюджеты, были заказы, всё было. Там, где не было, вина руководителя, который вне мейнстрима по собственной инициативе клепал. Но и после такого изделия пускались в серию, а коллективы получали не по рукам, но по конверту. В общем, гуляй, пока играет музыка.

Продолжение следует.

IT в СССР (как убили вычтех, вводная)

Объективное понимание того, как в СССР убили собственный вычтех решением комиссии по ВТ АН СССР и ГКНТ от 27 января 1967 г. под председательством академика А. А. Дородницына, невозможно без понимания пропасти между штучной научной разработкой и серийным производством для нужд промышленности, экономики, военных и прочих. И если современным разработчикам софта хоть кол на голове теши порою, отличие качественного продукта от ежеминутно падающего корявого велосипеда не увидят, в случае сложносоставных физических объектов всё намного очевиднее.

Компьютер с точки зрения учёного: прикольная штука, над которой 10 человек корпят в подвале пять лет, втыкая попавшиеся под руку прикольные детали (например, в М-1 1950 года немецкие купроксные выпрямители потому, что их случайно нашли на складе) и пробуя всякие прикольные идеи. Если чего переделать, монтажники и аспиранты за ночь перепилят. Вон тот костыль в углу нужен, им держится полочка, на которой атомные часы, которые тоже нужны.
Компьютер с точки зрения производства: штука, которую надо изготовить количеством сто тыщ за год с попутным изготовлением различной номенклатуры (от винтиков и корпусов до ламп с транзисторами) на имеющихся или новых производственных мощностях, которые тоже… и т.д., при этом всё с документацией, с подготовленным персоналом, с просчитанной экономикой производства, с логистикой (все же понимают, что на одном заводе это не делается), с расстановкой приоритетов. Простой пример: чтобы в 60-х делать компьютеры на транзисторах, нужны транзисторы; которым нужен германий; который промышленно начали производить в СССР только в 1959 году; который нужен не только вам.
Компьютер с точки зрения правительства: бесполезная игрушка учёных, ни копейки не дадим; уже полезная игрушка учёных? оно чёт считает даже! так, блин, вы чего? ещё вчера надо было тысячу компьютеров в сутки делать! на Колыму! в Сочи дельфинов зубочистками гонять! ааааа!!!
Соответственно, три вектора интересов, все три нужны и важны. Учёные толкают прогресс, они не могут без костылей. Производство реализует прогресс, им крайне важна технологичность, простота и надёжность. Правительство (администрация, управление) координирует, распределяет, стыкует, попутно применяя то кнут, то пряник.
В чистом виде описанное выше не существует, разве что в мультфильмах. На деле все тупят, всё смешано, в какой-то момент кто-то злобный стучит тапком по столу и всё валится в тартарары. Несколько проще с этим в бизнесе, там у власти не сотни голов партии, но есть проблемы с бюджетом на исследования и с монополией государства на некоторые. В общем, всегда конфликт, каждый тянет одеяло на себя. Тем толще, чем стратегичнее направление.

Также важно хорошо понимать области применения компьютеров. Без этого понимания не всегда ясно, почему иногда компьютеры ОЧЕНЬ важны, почему важно иметь СВОИ компьютеры и почему вообще важно иметь СВОЁ.
Во-первых, военные. Эти как начали прогресс, так и рулили им десятилетиями. Что ENIAC на слуху (заказан военными, использовался военными), что DARPA (интернет, BSD, TCP/IP…). СССР мало чем отличался. Пацифисты вздрогнут, но без задач уровня «летит ракета, система ПРО должна её обнаружить, обсчитать полёт, выпустить свою ракету, сбить вражескую» ничего бы не было, при этом ваши ракеты, ваша ПРО и ваши точность сбития должны быть шустрее противных, даже секунда решит дело. Бухгалтерия не требует реалтаймовой обработки бигдаты с дублирование систем. Требования по железу тоже другие. Вы не хотите, чтобы у защищающей ваш город системы сбойнул процессор от того, что рядом граната рванула.
Во-вторых, хозяйство. Так я бодрым единым махом записал в один пункт всё от энергетики до точного машиностроения, экономики и архивного дела. Здесь тоже нужны специальные системы во многих местах.
В-третьих, космонавтика. Если кратко, туда нужны специальные компьютеры со специальными микросхемами. Детальнее в старой статье на Хабре, но ленивым одно слово: радиация.
В-четвёртых, вычисления. Кластер, в который нужны суперкомпьютеры. Обычно штучный товар, заказывается / производится / покупается бюджетами уровня государства / корпораций, применяется для моделирования погоды, например, или ядерного взрыва.
Следствие простое. Даже если не учитывать нужды населения (а их никто не учитывал до первых PC, население не могло в подвале оборудовать компьютерный зал), компьютеры уже на второе десятилетие появления превратились в мечту любой отрасли. Нужны всем, нужны в огромном количестве (вопреки недоказанному утверждению «I think there is a world market for maybe five computers» от главы IBM 1943 года).
Вопрос: нафига париться, ведь можно у Intel покупать? Можно. Китай так и делал, пока США не решили, что нефиг использовать американские процессоры в суперкомпьютерах, считающих ядерную бяку в интересах Китая (в интересах США можно). Давайте ещё раз: если страна X покупает стратегический ресурс у страны Y, страна Y управляет стратегическим ресурсом страны X. И да, даже в светоче демократии и свободного рынка к бизнесу приходит государство и накладывает вето. Китай выводы сделал и теперь вовсю клепает свои процессоры. Это очень интересный современный (из исторических можно посмотреть на деятельность COCOM) прецедент. Войны нет. Торговля идёт. Граждане друг к другу катаются. Продукт не секретный, вон хоть вагонами таскай. Но правительство может запретить Intel продавать процессоры вон тому дяде и вон тому, т.к. эти процессоры используются не так, как считает правильным правительство.
Соответственно, страна, претендующая на независимость, должна сама производить свои компьютеры из своих комплектующих. Иначе можно в неудобный момент обнаружить пустую кладовку с запчастями к вот прям сейчас важным суперкомпьютерам.

Продолжение следует.

IT в СССР (кибернетика)

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

  • История информационных технологий в СССР и России — сайт. В списке литературы есть любопытное. Но, кажется, слегка заброшен.
  • Виртуальный компьютерный музей — сайт. Отличный. Электронная библиотека радует.
  • [Малиновский Б., Ревич Ю. Информационные технологии в СССР. Создатели советской вычислительной техники. БХВ-Петербург, 2014] — книга. Биографии основных конструкторов.
  • [История информационных технологий в СССР. Знаменитые проекты. Компьютеры, связь, микроэлектроника. Книма, 2016] — книга. Прям вот хороший сборник статей.
  • [Малашевич Б. 50 лет отечественной микроэлектронике. Краткие основы и история развития. Техносфера, 2013] — книга. Краткие, ага. 800 страниц истории мировой и отечественной микроэлектроники.

Может возникнуть вопрос «а нафига?» Ну… Хотя бы для того, чтобы понять, почему в компьютерах по миру процессоры Intel, а не Кострома-Самоцвет, например. Или для того, чтобы на отрезках в 10..40 лет увидеть последствия и причины научных и производственных решений, подумать над своими.


Кибернетика. Родная сестра генетики по закапыванию в землю и удобрению партийным навозом. Напомню, генетика — продажная девка империализма. Фразу сказал не Лысенко, но академик Лысенко эпично отметился в истории тем, что вместо плодотворных занятий агротехникой с 1948 года по 1960 год методично убивал советскую генетику, чем отбросил СССР на эти 20 с гаком лет в генетический назад, похоронив хороших людей, за что поколения запомнят академика редчайшей идиотии мудаком.
Так вот, рядом гнобили и кибернетику, но с некоторыми нюансами.
В-нулевых, кратко о претензии. По мнению партийных хвелософов кибернетика, раз механизирует человеческий разум, вознамерилась заменить рабочих роботами и вообще заполонить планету железными солдатами без чести и совести. Рабочие — люди социально святые, потому прогрессивное советское любомудрие стерпеть не смогло.
Во-первых, кибернетика и ЭВМ в те годы не были прям вот связаны. Грубо говоря, то, что одна рука с 1949 года притапливала буржуазное учение о системах и передаче информации, не мешало другой руке вовсю разрабатывать и клепать ламповые калькуляторы. В самый разгар критики были запущены МЭСМ, БЭСМ-1, Стрела и М-1. Более того, в статье 1952 года, яро нападающей на кибернетику, есть не менее ярая похвала вычтеху и ЭВМ. Ну т.е. с пониманием нужды в компьютерах в СССР на уровне инженеров и конструкторов (это важное уточнение) было норм.
Во-вторых, лидера мудаков вроде Лысенко не нашлось, зато нашлись защитники науки. Китов, Ляпунов и Соболев организовали противоход. И к ним прислушались, предложив в отделе науки ЦК ВКП(б) следующий вариант: кампания будет свёрнута, если научная общественность страны убедится в потенциальной пользе кибернетики. После этого начались выступления и семинары в вузах, в профильных учреждениях и т.д. Градус оценки уничтожения кибернетики в СССР можно снизить, если представить лекцию по оной в МГУ и в Минобороны, правда? В 1955 году ситуация была уже такая, что в «Вопросах философии», ранее активно долбивших Винера, спокойно опубликовали внятные статьи. Иными словами, всем на фоне генетики очень повезло. Спасибо, что никого в лагерях не сгноили (кажется).
cybernetics
В-третьих, занятна судьба книги в СССР. В Париже она вышла в 1948 году. Добравшиеся до СССР экземпляры (у некоторых учёных в личных библиотеках, а также в основных публичных библиотеках) сначала были условно доступны. Условно потому, что перевода не было, а самих экземпляров было невероятно мало. Но вскоре началась кампания и книгу заперли в спецфонды — места, в которых что-либо получить ты мог лишь с допуском на руках. Народ наблюдал битву с кибернетикой строго через окно прессы. Мол, есть такая штуковина у буржуев, фигня полная, потому вам об этом знать не надо. Запомните, что реакционная лженаука, да и хватит. После 1955 года, когда признали, что не реакционная и не лже, публичного издания так и не было вплоть до 1958 года. Только в этом году «Советское радио» выпустило текст на русском языке, пусть и с сокращениями — таки избавились от того, что ну совсем не стыковалось с политикой партии. До этого были ведомственные переводы для внутреннего пользования, но качество их хромало, потому про них все забыли.

Вот как-то так. На две трети это пересказ отличной статьи Шилова, с которой советую ознакомиться тем, кто желает узнать детали кампании и самостоятельно решить, какое влияние она оказала на развитие советских компьютеров. Как по мне, всё же небольшое.