Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted

в 10:30, , рубрики: algol, fortran, IBM, бэсм, дейкстра, история

Начнем с этой всем известной фразы. Итак, были отечественные крутые теплые ламповые (часто в буквальном смысле) наработки, уникальные, созданные талантами. А потом руководство завело бульдозер, который срыл все это подчистую, и засадил все безликими IBM. Так меня учили. Но по мере того, как мне попадались старые книги по программированию (а отчасти я сам свидетель той эпохи — о СССР я знаю не по рассказам), эта картина стала рушиться. У меня сейчас под рукой сейчас три книги, и мы используем их. Итак:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 1

«Счетные» машины

Начнем с этой книжки, датированной 75 годом. В СССР компьютеров не было, были ЭВМ (электронно-вычислительные машины), но ЭВМ — это позднее сокращение, ранее машины были счетными. Например, знаменитая БЭСМ — это Большая Электронно-Счетная машина. Счетная — это для вычислений, и только для них. Про БЭСМ-4, к которой мы еще вернемся, вики правильно утверждает "Арифметика с фиксированной запятой — рудиментарная, для целей адресной арифметики". Кому нужен этот int, float наше все.

Но давайте откроем книжку и посмотрим, какие задачи предлагалось решать читателю:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 2

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 3

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 4

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 5

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 6

Конечно, в основном Algol-60 и был предназначен для расчетов, однако возьмем, для сравнения, русский перевод книги (перевод сделан в 67 году, а сама книга, как видно, 62го года)

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 7

Вот о чем тут думают:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 8

И какие примеры приводят:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 9

А вот, кстати, 1C из 1962 года:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 10

Так как бухгалтерия — это всегда int (центов, копеек), то зарплату инженерам, обслуживающим машины БЭСМ всегда считали тетеньки из бухгалтерии — на счетах и арифмометрах. В частности, потому что арифметика целых — рудиментарная (см. выше).

Ну и как успехи с расчетами?

Пусть БЭСМ были ориентированы на расчеты. Ну так сложилось. Давайте посмотрим, что из расчетов, произведенных в СССР, вошло в историю. Выборка тенденциозная, но тем не менее.

Давайте заглянем сюда: Chronology of computation of PI и попытаемся найти БЭСМ:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 11

Может, попробуем «святой грааль» математики, гипотезу Римана и посмотрим рассчет нетривиальных нулей зэта-функции?

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 12

и снова мимо… Я буду рад, если вы найдете пример, опровергающий меня.

Гениальные самоделкины.

Теперь посмотрим, как дело обстояло с софтом. В помощь нам эта замечательная книга 67 года:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 13

Вот пример программирования (и, конечно же, это снова расчет):

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 14

Это 67 год… Может быть, еще не были распространены языки высокоуровневого программирования? Снова берем переводную книгу 62 года:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 15

FORTRAN где-то у основания… Это 57 год, кстати. Названия большинства языков мне ни о чем не говорят кроме того, что шло их активное развитие. Возвращаемся к БЭСМ-4:

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 16

Вас может заинтересовать, что такое тут k, a, c, d и почему их с чем-то складывают. Поясню. Так как программу можно было расположить с произвольного адреса (k), то в данном случае при программировании в кодах вам еще предлагают поработать линкером адресов. И это 67 год.

Погуляв по википедии видно, что, если создание ЭВМ, пусть даже в небольшом количестве экземпляров, было в СССР промышленностью, создание софта было гениальной сельской самодеятельностью. Компилятор Васи Пупкина в таком то институте, компилятор Пети Пупкина в другом. Да, это было очень сложно, да, хвала им, но это НЕ промышленность. Гениальные самоделкины в гараже, создающие единичные экземпляры авто без сервиса, без поддержки, завязанные на единичные таланты — это не автомобильная промышленность.

Что касается компьютерной техники СССР вообще (hardware+software), то сравнение с автомобилями очень подходит. Да, в общем, автомобили в СССР были, и да, в общем, они ездили. Салон для суровых мужиков, но едет. Особенно по бездорожью.

Само же событие по переходу на IBM (на самом деле еще и на PDP для младших моделей) подобно закупке у итальянцев линии по производству ВАЗа. Сейчас ясно, что это сильно подстегнуло промышленность. Так и в отношении ЭВМ. На ЕС ЭВМ наконец стали считать зарплату (потому что там была двоично-десятичная арифметика) и работать с символами (потому что там были байты! а не 43-битные слова: для одно символа места слишком много, а упаковывать и распаковывать — замучаешься). Мы получили краденый FORTRAN, PL/1 и многое другое.

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted - 17

И еще две вещи в конце. Мои выборки малы, поэтому если у вас есть другие данные, другие книги — опровергайте меня, я буду только рад!

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

Автор: Дмитрий EvilDBA

Источник


  1. Борис:

    А причём здесь Дейкстра?
    С таким уровнем аргументации можно доказать что угодно.
    Реальная картина гораздо сложнее и красочнее.
    В СССР основные ресурсы тратились на оборонку. Вот и вычислительная техника под неё затачивалась.
    К слову, в НИЦЭВТе в 1987 году (или около) был разработан и изготовлен шахматный партнёр на базе 8-разрядного Intel 8080 с 64 КБайт RAM, который, пусть медленно, но играл на уровне 3-го разряда как минимум.
    Да и с системным софтом было совсем не ВасиПупкински.
    Я уже не говорю об отличной разработке ЕС1065, которая была изготовлена в количестве 7 экземпляров, показала себя великолепно, но потом загублена по “внутриполитическим” причинам в самом НИЦЭВТе (конкуренция двух руководителей)

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js