понедельник, 19 января 2009 г.

Почему 16-ти битные DOS и Windows всё ещё с нами

Это перевод Why 16-bit DOS and Windows are still with us. Автор: Реймонд Чен.
Многие люди хотят, чтобы мы выкинули из Windows системы обеспечения совместимости с 16-ти битным DOS и 16-ти разрядными Windows программами. Поверьте мне, когда придёт время выкинуть этот старый хлам - я буду первым в очереди, чтобы это сделать.

Но это время ещё не пришло (*).

Видите ли, ребята из группы установки и развёртывания (Setup and Deployment group) посетили много различных компаний по всему миру, чтобы узнать, как они используют Windows в своём бизнесе. И при этом вылезла одна вещь, которая имеет отношения к этим системам поддержки старых программ:

Компании всё ещё используют 16-ти разрядные приложения. И очень часто.

Каждая компания имеет свой набор приложений, важных для бизнеса (Line of Business - LOB). Это программы, которые компания использует в своём бизнесе ежедневно, программы, без которых они просто не смогут жить. Например, у нас в Microsoft есть две критичные LOB-программы: система отслеживания ошибок (defect tracking system) и система контроля версий (source control system).

И, подобно Microsoft-ским системам, многие из LOB-приложений в больших корпорациях не являются коммерчески-распространяемым софтом; они разрабатываются только внутри корпорации, учитывают все её особенности и требования, а также часто являются секретом фирмы. Например, в компании по оказанию финансовых услуг её пакет анализа и предсказаний - это то, что отличает эту компанию от её конкурентов.

LOB-приложение - это ключевой момент при апгрейде. Если обновление Windows поломает работу LOB-приложения - всё, игра окончена. Никакого обновления. Ни одна компания не будет выкидывать на свалку приложение, которое критично для их бизнеса.

И так уж получается, что целая куча таких LOB-приложений - 16-ти битные программы. Некоторые - даже под DOS. Некоторые - 16-ти битные Windows программы, написанные в какой-то древней версии Visual Basic.

"Ну так попросите их портировать программы в Win32".

Проще сказать, чем сделать.
  • Зачем компании вообще тратить какие-то усилия на портирование программы, когда текущая версия работает и так?. Если она не поломалась - то и чинить её нечего.
  • Портированную программу нужно отладить и протестировать параллельно с основной версией. Существующей версии около 10 лет. Все её выкрутасы хорошо знакомы. Она выжила в тот раз, когда в 1998 остановилась линия доставки для производства, а когда производство возобновилось, им пришлось утроить объём данных, чтобы нагнать график. Новая версия же не проходила нагрузочных тестов. Кто знает, сможет ли она так же хорошо послужить в критических ситуациях?
  • Конвертирование из DOS-программы в Windows приведёт к большим затратам на переучивание персонала ("Я всегда нажимала F4 для отправки заказа. А теперь у меня тут панелька с кучей кнопок с непонятными картинками, и мне нужно запомнить, что они все означают". Представьте себе, что кто-то отнял у вас ваш любимый текстовый редактор, а взамен дал другой с совершенно другими горячими главишами. "Но новый же лучше".)
  • Часто компании больше не имеют исходных кодов своих внутренних программ, поэтому они не могли бы портировать программу, даже если бы захотели. Программа может использовать сторонний VB-контрол от компании, которая уже давно мертва. Она может использовать нестандартное оборудование, драйвер к которому имеется только в 16-ти битном варианте. А даже если у них остались исходники, то их автор уже не работает у них. В случае отсутствующего драйвера, у компании вообще может не быть человека, который смог бы написать 32-х битный драйвер (я знаю одну компанию, которая использовала ножные педали для управления одной из своих программ).
Возможно, достаточно большой приманкой эти компании и удалось бы убедить взять на себя усилия (и риски!) по портированию (а в случае утерянных исходников - по написанию с нуля) их LOB-приложений.

Но это должна быть действительно большая приманка.

Вот пример из реальной жизни: только на последней неделе я посетил друга, который живет в очень неплохом, профессионально управляемом жилом комплексе. Один раз нам нужно было зайти в офис, и я мельком глянул на экран их компьютера. На нём стояла Windows XP. А как же программа, которую они использовали для управления комплексом? Она была запущена в DOS-окне.

Примечания переводчика:
(*) В 32-х разрядной Windows Vista всё ещё поддерживаются старые 16-ти разрядные приложения (конечно, сильно ограниченно, но всё же). А вот 64-х разрядная Windows Vista - уже нет.

2 комментария:

  1. Докладываю: в 2013 году клиенты компании, в которой я работаю, наконец-то стали переходить с одной DOS-овской программы, которая запускалась в DosBox)

    ОтветитьУдалить
  2. Где только специалистов находят, которые ещё могут править большие досовские проекты или они никаких модернизаций годами не проводят?!

    ОтветитьУдалить

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

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