Колонка обозревателя
Андрей Колесов
Чем ближе новое тысячелетие, тем настойчивее звучит тема возможных сбоев вычислительных средств в 2000 году (она часто обозначается как Y2K). Так ли уж угрожающа ситуация - вопрос весьма спорный. Однако всем профессионалам в компьютерной области понятно, что здесь наряду с объективными факторами большое влияние имеют субъективные, направленные на создание ажиотажа вокруг в общем-то заурядных технических вопросов, которые решаются в рамках обычного круга задач по сопровождению и развитию информационных систем.
Андрей Колесов
В своем интервью еженедельнику PC Week/ RE член-корреспондент РАН В. П. Иванников привел общую оценку актуальности проблемы (см. № 29/98, с. 42). Здесь стоит также добавить то, что для любой публикации на тему Y2K весьма характерно отсутствие хоть одного конкретного примера, где использование даты нового века привело бы к сбоям в программе (имея в виду, что вопрос обеспечения надежной работы программ и так весьма сложен). Таинственные ссылки на закрытые военные системы, работающие в реальном масштабе времени, могут произвести впечатление только на людей, никогда не имевших дела с очень жесткими требованиям в этой сфере.
Честно признаемся - в спекуляциях на тему Y2K объективно заинтересована вся компьютерная индустрия, которая получает дополнительный инструмент давления на пользователя с целью проведения очередной модернизации техники и ПО. И это при том, что стилем разработок последних лет (особенно в программной сфере) стало откровенно-искусственное строго дозированное увеличение функциональности или повышение эффективности продуктов от версии к версии. К сожалению, появление в новых версиях некоторых расширений вызывает всеобщее умиление вместо резонного вопроса - а почему это не было сделано еще две версии назад?
Более того, благодаря принципу продажи “как есть” (юридическая защита разработчиков программных продуктов от претензий к работоспособности программ) создаются опасные прецеденты, когда в случаях даже явных ошибок производитель ПО предлагает пользователям вместо их немедленного устранения подождать выхода новых версий (за дополнительные деньги, конечно же).
Windows 98 - решение проблемы Y2K
В качестве примера “мягкого” давления на рынок можно привести историю с выходом Windows 98. Комментарий Microsoft о том, что в новой системе полностью решены вопросы Y2K, был довольно быстро интерпретирован не очень сведущими людьми (в том числе и работающими в СМИ) в том плане, что в предыдущих версиях OC проблемы с этим были. Microsoft деликатно молчала, не возражая против такого дополнительного довода в пользу обновления операционных систем. Как же дело обстоит в реальности?
На самом деле полноформатное хранение даты, в том числе и в качестве атрибутов файлов, было заложено в самые первые версии MS-DOS. Точнее, там предусмотрено хранение года в диапазоне 1980 - 2099 (база отсчета - 1980, максимальный интервал - 119, хотя вроде бы должен быть 127, так как зарезервировано 7 двоичных разрядов). Все проблемы с переходом даты были окончательно решены в версии MS-DOS 2.1, появившейся в начале 80-х годов. Ошибки там были связаны не со счетчиком года, а с определением дня недели.
Так что не надо путать внутренние форматы данных и их внешнее представление при выводе в виде, удобном для пользователей. В качестве примера можно привести одну из первых версий Norton Commander 1988 г., продукта тогда еще независимой компании Peter Norton Computing. Действительно, в ней используется двухсимвольное обозначение года при выводе атрибутов даты на панель экрана. Но сортировка списка выполняется по полному значению года, а не по его последним цифрам!
Совершенно другой вопрос, что до версии Windows 95 включительно, при вводе даты с использованием сокращенного формата даты (это хорошо видно при работе в режиме командной строки сессии MS-DOS) к двум цифрам года автоматически прибавлялись “19”. В результате при вводе, например 31.12.03, система думала, что речь идет о 1903 годе и выдавала сообщение о недействительном значении даты. Тем не менее трудно даже предположить, кто из пользователей не смог бы догадаться о решении проблемы - вводе даты в виде 31.12.2003.
Радикальные изменения в Windows 98 относительно Y2K заключаются в том, что теперь разработчики системы вдруг поняли, что когда вводится значение года меньше 80, речь идет, скорее всего, о XXI веке. Почему они об этом не догадались раньше (вставив при этом непростой механизм автоматического контроля за переводом часов при смене летнего или зимнего времени) - остается загадкой. Возможно, это было сделано с целью защиты от ошибок ввода, когда пользователь вместо “93” вводил “03”. Хотя в данном случае было бы проще реализовать дополнительный запрос на подтверждение ввода.
Так или иначе, но теперь в новой ОС пользователь при работе с датами нового века может вводить не четыре символа, а два. Пустячок, а приятно.
Взгляд из Америки
Некоторое время назад я задал вопрос о Y2K знакомому российскому программисту, который уже полтора года работает в США в одной из ведущих телекоммуникационных фирм. Вот какое письмо он прислал мне в ответ:
“Один из проектов, которые я веду, посвящен именно Y2K. В целом вся эта заварушка на 80% связана не с техническими вопросами обеспечения надежной работы программ, а с подготовкой к возможным юридическим проблемам.
Как ты понимаешь, различные конфликты между поставщиком услуг и продуктов и его клиентами - дело обычное. Поставщики уже сегодня готовятся к вполне вероятному шквалу разнообразных претензий в 2000 г. со стороны пользователей, которые будут вешать по любому поводу всех собак на нас, ссылаясь на неработоспособность компьютеров, нашу халатность и пр. Поэтому мы сейчас занимаемся не столько тестированием и модернизацией программ, сколько разработкой надежного научно-технического обоснования того, что у нас таких проблем нет.
Можешь представить сложность такой задачи: тест может обнаружить ошибки, но никакое тестирование не гарантирует 100-процентного их отсутствия. Конечно, клиентам будет также сложно доказать наличие гипотетических ошибок, но на их стороне будет стоять общественное мнение, которое сегодня активно формируется в нужном направлении.
Короче говоря, впереди нас ждут горячие юридические процессы. Клиенты обрушатся на нас с претензиями, в ответ они получат вагоны бумаг с обоснованием нашей правоты. И все будут довольны, особенно адвокаты обеих сторон, которые уже размещают заказы на 2001 г. на новые "Феррари", рассчитывая на резкий приток гонораров...”
Из письма видно - обозначился еще один любопытный поворот темы.
С автором статьи, обозревателем PC Week/RE, можно связаться по адресу: akolesov@glasnet.ru.