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

Согласно исследованию, проведенному правительственными структурами США, Секретная служба до сих пор пользуется компьютерной системой, созданной в 80-х годах прошлого века. Подобные «старые» решения также стоят на вооружении многих стран мира и применяются для управления баллистическими комплексами, системами подлодок и самолетов.

Поэтому сегодня мы бы хотели рассказать несколько историй о компьютерах и программах, позабытых временем, но не забытых упрямыми людьми.

/ фото Judit Klein CC

Последний из могикан


Компания Sparkler Filters в городе Конро, штат Техас, находится на рынке уже очень давно и предлагает устройства фильтрации. И если вы оформите у них заказ на нутч-фильтр, то они введут данные по транзакции в компьютер, работающий с 1948 года.

Этот компьютер — IBM 402. Конечно, это не совсем компьютер, в традиционном понимании, но автоматический электромеханический вычислитель, который может быть запрограммирован на распечатку результатов в зависимости от значений, введенных с 80-колонных перфокарт.

В середине прошлого века такие устройства часто использовались компаниями для счета. Машина могла взять длинный список чисел, сложить их, и распечатать подробный отчет. В каком-то смысле это многокилограммовый табличный процессор Excel. Именно для этих целей Sparkler Filters и использует 402, который является последним полностью функционирующим IBM 402 на планете.

Машина печатает отчеты на широкой бумаге с ведущими отверстиями, а Карл Краклауэр (Carl Kracklauer), чей отец основал Sparkler Filters в 1927 году, вводит данные на перфокартах. Компания не переходит на «современное» оборудование, поскольку 402 — это привычное решение. Персонал знает, как использовать систему, и 60 лет учетных данных компании отформатированы для работы с устройством.

/ фото Simon Claessen CC

В Sparkler Filters также имеются десятки программ для IBM 402 в формате коммутационных панелей. Для написания программы в 40-х годах требовалось перераспределять сотни проводов по разным гнездам панели. При этом панели могут заменяться, как если бы они были сменными дисками с программным обеспечением.

IBM 402 в Sparkler Filters — это настолько значимая компьютерная реликвия, что Музей компьютерной истории отправлял делегацию в компанию, чтобы убедить сотрудников перейти на более современные системы и передать 402 музею. Когда-нибудь это будет достойное место для отдыха «старичка», однако пока что техасская компания решила отложить выход на пенсию этого динозавра вычислительных технологий.

Система MOCAS


Но не только вычислительные системы живут с середины прошлого века. Есть долгожители и среди компьютерных программ. В 1958 году Министерство обороны США запустило компьютеризированную систему управления контрактами MOCAS, которая должна была следить за действующими контрактами и платежами. И она следит, 59 лет спустя.

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

Веб-интерфейсы часто скрывают возраст старых систем. Министерство обороны снабдило MOCAS новым интерфейсом, чтобы сохранить её работоспособность в современных реалиях. В нынешнем варианте система может быть интегрирована с другими программными пакетами, например, пользователь имеет возможность прикреплять к записям документы Microsoft Word.

Пентагон опасается менять эту систему на более современную, так как она работает с 1,3 трлн долларов в облигациях и 340 тыс. контрактов. Она запущена на мейнфрейме IBM, который способен обрабатывать 398 млн команд в секунду, при этом имея скромные 8 гигабайт ОЗУ и большое количество устройств для хранения данных.

Одни в пустоте


В мае 1977 году был дан старт двум крупным космическим исследовательским миссиям — были запущены аппараты «Вояджер-2» и «Вояджер-1». Сегодня оба зонда продолжают слать собираемые данные из тех точек космоса, где еще не бывал человек. Где еще не бывали искусственные аппараты.

В конце августа 2012 года датчики «Вояджера-1» зафиксировали резкое снижение концентрации частиц солнечного ветра. Это означало, что «Вояджер-1» оказался в межзвёздном пространстве. В 2013 году профессор астрономии Билл Веббер (Bill Webber) официально сообщил, что «Вояджер-1» вышел за пределы Солнечной системы.

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

Спустя 40 лет, программное обеспечение космических аппаратов всё ещё функционирует. Сьюзи Додд (Suzy Dodd), проект-менеджер программы «Вояджеров», говорит, что ПО было обновлено во время полета, но НАСА ничего кардинально не меняли и не удаляли.

/ фото Dusty Reichwein CC

Зонды имеют лишь 70 килобайт памяти, из-за чего программный код приходится подменять на различных этапах миссии. «Например, это происходило 18 раз во время пролета Юпитера», — рассказывает научный сотрудник программы Эд Стоун (Ed Stone). А однажды, в 2010 году, на Землю начали приходить искаженные данные. Проблема оказалась в одном бите, который переключился с нуля на единицу, — программа была перезапущена и по сей день находится в эксплуатации.

В НАСА ожидают, что максимальный срок жизни зондов и программного обеспечения составит 48 лет: с 1977 по 2025 год. К 2020 году ученые отключат некоторые системы космических аппаратов, но они все равно продолжат свое «общение с Землей», пока не отправят свое последнее сообщение в 2025 году. В этот момент одна из самых старых компьютерных программ перестанет функционировать.

Вклад общественности


Подобные истории, когда старая программа, написанная несколько лет назад, продолжает активно использоваться, встречаются и в среде разработчиков-энтузиастов. И это не удивительно, ведь чем меньше пользовательская база программы, тем больше вероятность, что код будет работать «вечно» и без изменений.

Например, в одном из тредов на Hacker News разработчики поделились собственными историями. Пользователь с ником Byuu рассказал, что целое сообщество smwcentral.net использует кросс-ассемблер xkas, который тот написал в 2001 году.

«Я добавил всего несколько небольших патчей в начале 2004 года и выпустил финальную версию v06, — говорит Byuu. — Я не надеялся, что кто-то будет серьезно использовать мое решение. Делал для себя, но выложил в сеть».

По его словам, это код длиной в 1500 строк без комментариев и отступов. К нему не прилагается никакая документация. Каждый пользователь встречает разные баги, которые участники сообщества учатся «обходить». Все это превратилось в порочный круг — люди использовали xkas, потому что все было написано на xkas.

Чуть позже энтузиасты начали писать собственные версии ассемблера, предлагающие обратную совместимость для неочевидных решений оригинальной программы. «Мне очень стыдно за то, что так много людей застряли в этом круговороте ошибок, но я уже ничего не могу поделать», — заключает Byuu.

Пользователь buro9 также поделился историей. По его словам, самый старый код, который он писал, и который до сих пор работает, — это некая система для внутреннего использования студией звукозаписи, созданная в 1997 году.

«Я все еще получаю письма, в которых меня спрашивают, как работает та или иная функция, — говорит buro9. — А я понятия не имею, это был PERL».

Еще одно его решение — программное обеспечение для управления проектами, написанное десять лет назад, которым пользуются банки Великобритании и некоторые машиностроительные компании. По словам автора, она не имеет интернет-совместимости и ни разу не обновлялась. Поскольку такие организации управляют двадцатилетними проектами, то, скорее всего, эта программа будет работать еще как минимум десяток лет.

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

Однако есть и такие люди, как сотрудники Sparkler Filters со своим IBM 402, которые следуют простому и известному правилу: «Работает — не трогай». Благодаря этому мы можем наблюдать такие удивительные решения, прошедшие сквозь года и не утратившие своей функциональности.

P.S. Предлагаем обратить внимание еще на несколько интересных материалов из нашего блога:


P.P.S. Наш свежий дайджест — все о работе с IaaS плюс примеры практических кейсов.
Поделиться с друзьями
-->

Комментарии (28)


  1. alff31
    31.01.2017 23:13
    +2

    Вот интересно, когда это сломается, тогда что делать? Ведь не починишь уже и не найдешь запасных частей.


    1. dmitrykabanov
      31.01.2017 23:17

      Об этом мало кто думает, даже на бытовым уровне. Взять хоть обыкновенный бэкап данных — пока разок кофе не пролетит над ноутом, вроде бы и не задумываешься.


      1. alexeykuzmin0
        01.02.2017 11:12

        Не всегда «не делать бекапы» — это следствие недальновидности. Уверен, есть немало людей вроде меня, у которых все фото в соцсетях, вся переписка в почте и смс, все проекты на github, а программы скачать заново будет проще, чем регулярно бекапить.


        1. dmitrykabanov
          01.02.2017 11:14
          +1

          Ну так репо — это и есть своего рода бэкап. Я ж не про копирование на 10 sd-карточек


    1. mpakep
      31.01.2017 23:30
      +7

      Скорее ломалось уже не раз. За двадцать тридцать лет эксплуатации и без того достаточно простые решения осваиваются до мелочей. Инженер может по шуму работы сказать что сломается и когда.


      1. il--ya
        07.02.2017 15:49

        Ну инженер-то не вечный… Когда-нибудь он сам «зашумит». Или они там растят династию шаманов?


      1. il--ya
        07.02.2017 15:54

        Я думаю, они сохраняют этот IBM по сугубо прагматическим причинам — но это не «работает — не трогай». Просто элементарный маркетинг. Это ж такой класный message: Мы очень давно на рынке, мы стабильный и надёжный партнёр, наши бизнес-процессы отлажены и надёжны, мы ценим долгосрочное партнёрство и т.д.
        Скорее всего, на самом деле система давно не используется по назначению, просто сохраняется как фетиш, и не факт что вообще работает.


    1. navion
      31.01.2017 23:36
      +1

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


    1. rg_software
      01.02.2017 02:26

      Del


    1. rg_software
      01.02.2017 02:31
      +1

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


  1. BalinTomsk
    01.02.2017 01:02
    +2

    Суровая норвежская налоговая предлагает для расчета налогов скачивать программу на Коболе

    http://www.skatteetaten.no/en/under-oppbygging/Drive-bedrift/Arbeidsgiver/employers-order-electronic-tax-deduction-cards/Documentation-and-program-for-calculating-prepayment-deductions-2014-and-2015-income-years/


    1. Jeditobe
      01.02.2017 01:04

      А по сути, что в этом странного? Кобол мертв?


    1. beeruser
      01.02.2017 04:48
      +3

      Вот эта конторка, делающая всякие тулы для COBOLа,
      https://www.microfocus.com/solutions/cobol-development-and-mainframe-solutions/
      в том году приобрела софтверный бизнес HP за ~$9 миллардов, например.


    1. norguhtar
      01.02.2017 08:37

      Язык как язык. Более того современные реализации есть.


    1. el_gato
      01.02.2017 10:33

      Правда в следующем году они от кобола отказываются в пользу джавы.

      http://www.skatteetaten.no/no/Bedrift-og-organisasjon/Arbeidsgiver/skattetrekk/Skattekort-og-forskuddsskatt/Dokumentasjon-og-program-for-beregning-av-skattetrekk/

      Причем в английской версии об этом ни слова.


  1. Jeditobe
    01.02.2017 01:03
    +5

    Всем привет от проекта ReactOS, который в данный момент все еще «переделывает сызнова» не такие уж ненужные Windows XP и 2003.


    1. Aingis
      01.02.2017 16:33
      +1

    1. sumanai
      01.02.2017 20:46
      +1

      Слишком современно.


  1. dmitry_ch
    01.02.2017 01:52
    -6

    Для написания программы в 40-х годах требовалось перераспределять сотни проводов по разным гнездам панели — это определяло операцию машины.


    «Операции машины» (не говоря, что скорее всего — «программу»), горе вы копирайтеры-переводчики!


  1. Desprit
    01.02.2017 07:44
    +5

    Каждый раз когда читаю, что в 25-ом году Вояжер последний раз отправит на Землю сообщение, становится очень грустно.


  1. aso
    01.02.2017 09:06
    +2

    Этот компьютер — IBM 402. Конечно, это не совсем компьютер, в традиционном понимании


    Это называется «табулятор».
    Точнее, accounting machine как разновидность tabulating machine.


  1. LonelyCruiser
    01.02.2017 11:39
    +6

    Приходит сын к отцу программисту и спрашивает:
    — Папа, а почему солнце всегда восходит на востоке?
    Папа:
    — Точно на востоке?
    — Да.
    — Проверял несколько раз?
    -Да.
    — Так вот оставь как есть, ничего не трогай, пускай так и будет.


    1. Actee
      01.02.2017 11:54

      Лол. Классика


    1. HardWrMan
      07.02.2017 12:00

      Была модификация этого анекдота. Отец программист при этом был с красными глазами после трех бессоных ночей отладки проекта с дедлайном. А последняя его реплика была вроде «Вот и не трогай, пока не сломал!».


  1. askv
    01.02.2017 20:21

    Я люблю старую технику. До сих пор электронными настольными часами ещё советского периода пользуюсь. Ну и комп не тороплюсь обновлять.

    Может, кто-то до сих пор на арифмометре считает ;)


  1. perfect_genius
    02.02.2017 15:51

    Когда в очередной раз заглянете в Макдональдс, то знайте — их компьютерные программы тоже довольно старые, тормозят и виснут каждый день. Интерфейсы спроектированы неудобными и с глюками, с чем приходится матерясь мириться, и это влияет на выдачу заказов — могут «забыть» выдать. Жалобы висят давно, связаться с высшим руководством сложно, а ответа может и не быть.


  1. il--ya
    07.02.2017 16:17

    Спасибо за пересказ, но где ссылки на оригиналы?

    If It Ain't Broke, Don't Fix It: Ancient Computers in Use Today (PCWorld)

    What Is the Oldest Computer Program Still in Use? (MIT Technology Review)

    Edit: пардон, вторая ссылка (на MIT Tech Review) уже присутствует в статье, даже дважды.


  1. il--ya
    07.02.2017 16:34

    В Sparkler Filters также имеются десятки программ для IBM 402 в формате коммутационных панелей.

    Повеселила вторая картинка по ссылке: даёт наглядное представление о том, что такое
    spaghetti code
    image