1 января 2000 года на нас обрушится компьютерный хаос


Человек 2000 года
2000 год пугает вас? Ждите 2001-го
Наступление 2000 года в одной отдельно взятой стране
JavaScript: через тернии к звездам?
SAG предлагает Insight 2000 Toolkit
Двухтысячный Дед Мороз не должен застать вас врасплох

PictureСтрашная катастрофа произойдет ранним утром, 1 января 2000 года, если не принять уже сейчас решительных мер. Остановится транспорт, будет заморожена деятельность предприятий, откажут все компьютеры. А все из-за того, что последние не смогут перейти в новое тысячелетие. В большинстве из них есть встроенный календарь и соответственно дата, записывают которую обычно так: 03.12.97, что означает 12 марта 1997года. В 2000 году последние цифры заменятся на 00, что, по мысли компьютера, должно означать 1900 год!!! Компьютер замкнется, поскольку произойдет внутренний конфликт. В свое время этот эффект ученые предсказывали, но тогда об этом никто не побеспокоился, поскольку экономили место на микросхемах, а для переделывания даты по новому образцу необходимо было затратить миллионы долларов. Сегодня, по подсчетам исследователей, для исправления этой оплошности 30-летней давности потребуется уже 600 млрд. долл.!

"Московский комсомолец", 12 марта 1997 года

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

"Рабочая трибуна", 4 февраля 1997 года

Это будет драматичнее, чем кажется на первый взгляд. Произойдет саморазрушение банков данных. В ночь под Новый год компьютеры тихо загудят и завибрируют, беспорядочно выбрасывая на экран случайные цифры и результаты операций, не имеющие ничего общего с реальностью. Полетят программы: будут аннулированы рейсы самолетов, отменены заказы в гостиницах, задержаны выплаты пенсий и зарплаты. Невозможно будет определить количество свободных мест в многоэтажном гараже или число вакантных мест на кладбище. Затруднится подведение балансовых отчетов. Людям опять понадобятся деревянные счеты. 90% всех деловых программных систем, созданных на электронной базе, не смогут сами перевестись на новое "летосчисление".

"Известия", 23 августа 1997 года

Итак, получается, что две цифры - вернее, их отсутствие - способны перевернуть ход развития цивилизации? Восторженное отношение к техническому прогрессу к концу века сменилось на подозрительное, и вряд ли сегодня кому-нибудь нужно объяснять, к чему может привести пренебрежение даже самой малой малостью. Однако угрюмое и недоверчивое человечество на редкость охотно впускает в свои дома разные "умные" штучки, которые при все своей "неблагонадежности" все же способны здорово потешить нашу лень! И жизнь начинает зависеть от них все сильнее, буквально во всех своих проявлениях. Этой зимой в богатейшей Норвегии, щедро защищенной от всяческих стихийных неприятностей новейшими достижениями техники, случился буран - и повредил провода, по которым шел ток, а без него, как известно, все блага цивилизации мертвее мертвого. И как бы ни было несладко норманнам, пережидавшим затяжные бураны в бревенчатых жилищах, наши современники вряд ли почувствовали себя уютнее в темных и холодных залах магазинов, из которых они не могли даже выйти, потому что двери открывались автоматически. Этот почти анекдотический случай заставляет вспомнить системы жизнеобеспечения, например аппаратуру, применяемую в больницах, и те устройства, от которых зависит безопасность людей, вроде оборудования, установленного на борту самолетов. А ведь не следует забывать и о процессорах, ответственных за контроль, скажем, распада радиоактивного вещества. Хорошо еще, что лишь небольшая часть машин и систем, которые могут выйти из строя в 2000 году, действительно критически важна. Многие информационные системы вообще не работают с датами, и лишь часть оставшихся могут в случае отказа поставить под угрозу жизнь или кошелек их пользователей. Никого не смущают видеомагнитофоны, показывающие точное время два раза в сутки. Реальную угрозу после смены тысячелетия представляет старое громоздкое программное обеспечение, которое по-прежнему используют крупные компании. Для исправления приложений, применяемых банками, страховыми компаниями и правительственными организациями, потребуется приложить немало усилий и провести гигантские инвестиции. Но альтернативы нет. Если компания окажется не в состоянии продолжать нормальную работу в XXI веке, она просто выйдет из игры. Правительственные организации, не принявшие мер вовремя, ждут большие неприятности. Многие крупные предприятия трудятся, и довольно эффективно, над исправлением своего аппаратного и программного обеспечения. Однако они еще не принимались за некомпьютерные системы, оснащенные процессорами. Таким образом неожиданно возникла еще одна опасность - даже если вовремя исправить все компьютерное оборудование, неизбежна катастрофа, вызванная отказом всех остальных приборов и устройств, хотя большая их часть и будет при этом нормально функционировать. Несколько крупных автомобильных компаний заявили, что с их продукцией не возникнет никаких проблем. Однако они забыли упомянуть о заправочных станциях и компьютерной диагностике, которые могут оказаться под угрозой. Тем не менее старые процессоры не стоит списывать со счетов раньше времени. Несмотря на свои недостатки, они очень надежны. Настолько надежны, что Mars Pathfinder, посылающий нам изображения поверхности Марса, использует, в частности, процессор 20-летней давности. Почтенный Z-80 впервые поступил в продажу еще в 70-е годы. Сейчас эти процессоры работают значительно быстрее, с тактовой частотой 20 МГц, однако, по-существу, это тот же самый кристалл, выполняющий ту же самую работу, что и 20 лет назад, только ставший значительно дешевле (менее доллара за штуку). Инструменты для программирования и отладки сегодня практически универсальны. Руководству многих предприятий, где производство контролируется приборами со встроенными процессорами, необходимо убедиться в том, что их компании смогут выжить в XXI веке. Во многих случаях даже не требуется проводить никаких испытаний и проверок - необходимо лишь точно установить, где именно используются системы со встроенными процессорами. Каждому придется, тщательно проанализировав свой бизнес, выявить критически важные участки, чтобы в первую очередь обеспечить их защиту. Другими словами, необходимо определить план восстановления деятельности предприятия, решив таким образом проблему использования процессорных устройств после 2000 года. Практически все крупные организации уже разработали подобные планы и даже учреждают отделы для наблюдения за их выполнением. К несчастью, подобная практика пока не получила широкого распространения. Фактически единственное, что сегодня предпринимают в этом направлении многие компании, это обеспечение защиты данных. Они просто надеются на удачу - дескать, землетрясения не случится и все другие катастрофы пройдут стороной. Но смена тысячелетия неотвратима. В этом случае нам известно даже точное время катаклизма, с точностью до секунды. И хотя мы пока не можем предсказать все его последствия, предусмотрительные бизнесмены уже сейчас составляют планы восстановления деятельности своих предприятий. Особое внимание следует обратить на по-разному работающие в выходные и будни системы, к которым относятся поливочные машины, светофоры, а также куда более сложно организованные охранные комплексы. Учреждениям здравоохранения и больницам придется особенно несладко, так как в результате ошибки под угрозу может быть поставлена человеческая жизнь. После того как будут выявлены все устройства, оснащенные процессорами, стоит обратиться к производителям и выяснить, сможет ли их продукция безотказно работать после 2000 года. В случае утвердительного ответа неплохо было бы даже потребовать письменного подтверждения. Для большинства приложений этого вполне достаточно, так как всегда можно обратиться за помощью к правосудию. Если же какая-либо из систем не должна останавливаться ни при каких обстоятельствах, стоит предусмотреть запасной вариант. В случае, когда производитель не в состоянии гарантировать бесперебойную работу своей продукции, необходимо провести ее испытания, а при необходимости - установить дублирующую систему.


Результаты исследований, проведенных компанией Killen&Associates, показали, что в ближайшие несколько лет разработчики ПО, обеспечивающего корректную работу с датами при переходе к 2000 году, будут буквально купаться в деньгах. По предварительным оценкам, до 2002 года только в Северной Америке затраты на интеграцию, профессиональное обслуживание и размещение заказов на системы поддержки новых дат достигнут 145 млрд. долл. Сегодня на эти цели уже ушло около 10 млрд. долл. Ожидается, что за указанный период всего в мире будет потрачено на такого рода исправления 280 млрд. долл.


Человек 2000 года

Сергей Юрлов
CW-R Карьера

К концу 900-х годов, то есть около тысячи лет тому назад, Европа готовилась к страшным событиям - Концу света и Судному дню. Когда же, как не в 1000-м году, мог случиться Апокалипсис. А он, назло плюшевым пророкам, возьми да и не случись. Тысячелетие спустя человечество, не дождавшись серьезных катаклизмов, стало активно придумывать себе иные, не менее удивительные развлечения. "Коровье бешенство" начало вовсю поражать вегетарианцев, по Интернету стали заниматься сексом (интересно, почему раньше никто не догадался заняться тем же самым по видеомагнитофону?), на Марсе обнаружены следы загубленной жизни. Мало этого. Индустрия масс-медиа требует новых катастроф.

Вы хотите проблем - их есть у нас!

Чего только не прочтешь в прессе, не увидишь по ТВ. Кошмар! Коллапс! Катастрофа! Две цифирьки вместо четырех будут изображать год на наших(!) компьютерах(!!). Случится страшное, если, конечно, его не предотвратить всем миром. Хотя нет, всем миром не пойдет. Нужны люди, которые хотя бы объяснят, "в чем проблема-то". Объяснят и путем неимоверных усилий предотвратят развал цивилизации. И соответствующее моей рекрутерской тематике продолжение: резкий спрос на специалистов, решающих проблему 2000 года. Бешеные гонорары этих суперменов конца ХХ века. Специалисты нарасхват. И далее в том же духе.

Сам Премьер-министр по этому поводу проявил обеспокоенность. Значит, в подотчетных Премьеру структурах кое-кто понял, что под очень благовидным и непонятным предлогом - борьбы с проблемой 2000 года - можно вытянуть из госбюджета еще денег. Значит, в этих же самых структурах будет образована комиссия по проблеме вышеозначенного года. И некоторое количество рабочих мест создано все-таки будет. После чего через Тверскую улицу протянутся транспаранты-перетяжки, гласящие: "Программисты и сисадмины! К встрече грядущего - будьте готовы!". Чтобы все по-серьезному было.

Трудно, очень трудно понять, что компьютерная и телекоммуникационная техника, на которой у нас работают, поставлялась в 90-е годы. Равно как и программное обеспечение. Мы слишком поздно компьютеризировались, чтобы успеть завести себе сколько-нибудь серьезные проблемы в связи с переходом в век грядущий. Где подобные проблемы могут существовать? На старых системах, которые либо не сохранились физически, либо просто не появлялись в Советском Союзе. Уверен, что в какой-нибудь Гане проблем с наступлением 2000 года еще меньше.

Три фактора, обуславливают несоздание рабочих мест для "2000 года".

1. Поздняя, в сравнении не с Ганой, а с Северной Америкой, компьютеризация.

2. Пиратство - двигатель прогресса. Следствие широко развитого пиратства - более частая модернизация, а также гораздо более легкий переход под другое ПО. Задаром-то приятнее и прыгать (в смысле с версии на версию).

3. Русская страсть ко всему новому, а значит - лучшему, помноженная на привычку тратить деньги без остатка. Да еще чтоб все было не хуже, чем у людей. В частности, в Москве персональных компьютеров с процессорами класса Pentium, относительно общего парка компьютеров, в процентном отношении больше, чем в любой другой европейской столице.

Вот и получается, что специалисты, сертифицированные по Novell и Microsoft NT, нужны, а "человеки-двухтысячники" - нет. В отношении программистов на Lotus Notes спрос превышает предложение, а что касается "людей-легенд" - нет.

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

Дурят нашего брата-читателя, дурят! Оглянитесь вокруг: какое программное обеспечение, какое "железо" используете, дорогие читатели? Помните телевизионную рекламу одной из лопнувших финансовых пирамид: "мы сидим, а денежки идут, правда, папа!". И здесь принцип тот же: вы читаете, а журналист получает гонорар. Вот он и пишет. Только тем таких, чтобы поинтереснее, да погорячей в мире чипов и байтов ох как немного! А про порнографию и фашизм в Интернете - ну сколько же можно! А тут - прямо научная фантастика в жизни. Вселенская катастрофа грядет. На сцену выходят благородные, но при этом меркантильные (помните про высокие гонорары?) специалисты - "решатели проблем 2000 года".

Да, дорогие читатели. Призы, дипломы, кубки и прочие атрибуты победы в чем-то всегда были серьезным аргументом обладающего ими наемного работника. Предлагаю ввести новый конкурс "Журналист - проблема 2000 года" с выдачей секундомера, ломающегося в 0 часов 00 минут 2000 года. Что для этого потребуется? Часы, то есть квалифицированный часовщик, способный вовремя сломать часы! Еще одно временное рабочее место будет создано.


Ветеран предлагает решение проблемы даты

Боб Бемер работал с компьютерами, когда они только появились, и уверен, что знает, как решить "Проблему 2000 года".

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

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

Бемеру 77 лет. Он участвовал в создании Кобола, стандарта ASCII, работал в IBM, Univac, Rand, General Electric и вот теперь сам основал в Далласе компанию BMR Software, которая займется пpодвижением его нового продукта Vertex 2000.

Vertex 2000 просматривает объектный код программ для мэйнфреймов до его исполнения, находит всевозможные ссылки на дату и заменяет их вызовом специальной подпрограммы. Подпрограмма подставляет дополнительные разряды, обозначающие век в поле даты. Эти дополнительные биты Бемер назвал Bigits. Другие программы используют аналогичный подход, но на более высоком уровне, что требует больше времени и некоторой "ручной" работы.

"Дело в том, - комментирует Бемер, - что никто не хочет копаться в текстах старых системных программ. Это могли бы сделать те, кто писал эти тексты, но, как говорится, иных уж нет..."

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

"Вначале программа работает не очень быстро, - объясняет Бемер. - Но когда просмотр окончен и осталось исправить только операции с датой, все происходит в считанные доли секунды".

Некоторые специалисты, однако, считают, что если подход Бемера и сработает, то позволит решить лишь задачу преобразования кода, а это наиболее простая часть проблемы, требующая минимальных затрат.

Идея Бемера активно обсуждается в конференции в Internet. Многих пугает идея вторжения в код пpогpамм на столь низком уpовне, иные попросту сомневаются, что у Бемера хватит времени воплотить идею. Пока ясно одно - Vertex 2000 не появится в ближайшие паpу месяцев. По словам Бемера, ему придется поднажать, чтобы успеть реализовать идею не только для Кобола, но и для других языков.

- Тим Оулетт, Роберт Шейер,

Computerworld, США


2000 год пугает вас? Ждите 2001-го

Майкл Кон
Computerworld, США

Ваша участь ужасна и беспросветна. Вы работаете по 80 часов в неделю, изо дня в день, и так продолжается уже много месяцев. Ваша жена, ваши дети и ваша собака перестали вас узнавать. Вы не берете отпуск - вместо этого принимаете аспирин. Хочу вас обрадовать - дальше будет еще хуже. Грядут сюрпризы 2000 года, и они обрушатся на вас как тонна кирпичей. Но это еще цветочки. Потому что после 2000 года начнут происходить действительно неприятные вещи - похлеще того, что творится сейчас.

Может быть, нам удастся исправить ошибки, совершенные в 2000 году, а может, несколько миллионов написанных строк безнадежно испортят все дело. Возможно, из-за нашей невнимательности компания непослушных чипов выйдет из строя 1 января 2000 года. А может, пройдет несколько дней, недель или месяцев, прежде чем все это обрушится на наши головы. Но будьте уверены - неприятностей будет предостаточно. И если целая группа руководителей не в состоянии вникнуть/осознать/спрогнозировать сегодня, то, без сомнения, они окажутся в полной растерянности перед свершившимся фактом. Им останется только удивляться, почему их банк, система кабельного телевидения или тостер не работают как положено.

Тогда они моментально найдут объект для упреков - нас, программистов, которые предупреждали их об опасности еще в бытность Дэна Куэйла вице-президентом. Однако упреки - это все же ерунда. 64 ночи напролет мы будем жариться на медленном огне, пытаясь доковылять до конца 1999 года.

А в январе, когда неприятности начнут стучаться в дверь, разбуженные 2000 годом руководители внезапно захотят, чтобы мы бросили те дела, ради которых мы уже давным-давно все побросали.

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

Так мы доживем до третьего квартала 2000 года, когда на нас обрушится следующий удар: увольнения.

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

"Слушайте, босс, мой опыт решения проблемы 2000 года позволяет мне заниматься очень многими серьезными вещами".

На что босс скажет: "Верно, только отправляйтесь-ка делать это куда-нибудь в другое место".

Таким образом мы наконец доберемся до 2001 года, когда ситуация станет просто угрожающей.

Мы потеряем кредит доверия. Потеряем накопления. И остатки волос на голове. Внезапно новые системы-скороспелки (которые заменили старые, абсолютно бесполезные после 2000 года) начнут в массовом порядке выходить из строя. И будет еще больше ошибок. Еще больше потрясений. Все будут еще больше замахиваться кулаками на и без того запуганных программистов. Посыпется целый шквал упреков. И как следствие - урезание бюджета. Больше увольнений. Больше аспирина. Когда же это кончится?

В конце концов, все утрясется. Появятся новые технологии, новые проекты, новые возможности. Грядет новый бум информационных систем.

Будем откровенны. Мы уже давно так живем. Начиная с 1960 года, мы положили 40 лет крови и пота на алтарь обработки данных.

Но как это ни печально, нам, видимо, придется втиснуть еще 40 таких лет где-то между 2000 и 2001 годами.


Наступление 2000 года в одной отдельно взятой стране

Что удивительно - не все даже знают об этой пресловутой проблеме. Осведомленные же люди - и по большей части из прессы - воспринимают ее как "ихнее" дело, мало до нас касающееся. У нас опять сложилась особая ситуация. Правда, сейчас она обещает обернуться во благо. Своеобразная история внедрения вычислительной техники в России привела к тому, что во многих отраслях, в том числе в большинстве из тех, где реальна опасность миллионных убытков, установлены современное средства, для которых "проблема 2000 года" решена изначально. Это же относится и к разработчикам, которые опираются на новую программно-аппаратную базу и используют современные технологии. Переход в следущее тысячеление представляет реальную опасность для тех, кто предпочел плавный переход с машин серии ЕС-ЭВМ на мэйнфреймы, не проводя при этом кардинальных модификаций ПО. Кроме того, остаются встроенные системы, где представление даты двумя символами вызвано необходимостью экономии памяти. Впрочем, сделать можно многое - было бы желание. Это как нельзя яснее демонстрируют банковские структуры, которые не просто материально зависят от правильного функционирования систем - для них это вопрос жизни и смерти. Однако пока неясно, насколько действенные стимулы получат государственные организации. Судя по результатам опроса Computerworld Россия, говорить о государственной поддержке не приходится. Вопросы были разбиты на две группы - для компьютеpных фиpм (мы специально выбpали компании "pазного пpофиля") и пользователей. Вот вопросы, предложенные компьютеpным фирмам.


Прежде чем браться за эту тему, нам хотелось посоветоваться с экспертами по корпоративным системам. И нашли мы таких людей совсем близко - в редакции журнала "СУБД". В один из вечеров в нашей редакции состоялся своебразный "круглый стол" с участием собственных же сотрудников, благодаря которому "проблему 2000 года" удалось рассмотреть в самых разнообразных ракурсах - как ее видят:

Евгений Зиндер


Прежде чем на нас обрушится "проблема 2000 года", предстоит справиться с проблемой 1999-го. О ней, я уверен, почти никто не слышал, а в действительности ситуация довольно серьезна. Об этом подробно писала Financial Times 17 июля. Статья эта была напечатана на первой полосе. Дело в том, что во многих системах число "99" применялось как обозначение верхней границы диапазона. Бог знает, как станут интерпретировать тогда системы две цифры года 1999!

Глеб Ладыженский


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

Сергей Кузнецов


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

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

Андрей Волков


Это еще одно свидетельство в пользу актуальности защиты авторских прав. Авторов продуктов, написанных в те времена, когда об авторстве на программы никто и не думал, в большинстве случаев разыскать просто невозможно. Программистам известно, каково это - разбираться в чужих распечатках. Нетрудно догадаться, насколько это затруднит исправление ошибок.


1 Каково влияние "проблемы 2000 года" на вашу компанию и российский компьютерный рынок вообще?

2 Что сделано или планируется сделать для решения этой проблемы?

3 Готова ли ваша компания предоставлять консалтинговые услуги для решения этой проблемы?

4 Можно ли говорить о государственной поддержке, и предъявляются ли какие-либо государственные требования к системам, подверженным влиянию "ошибки 2000 года"?

5 Уже сейчас на Западе "проблема 2000 года" привела к созданию новых рабочих мест, причем в основном в странах, где труд программистов дешевле, например в Индии. А как обстоит дело у нас?


Егор Яковлев, менеджер по маркетингу Informix-Россия


1 "Влияние" на Informix свелось к устранению возможных проблем, связанных с некорректным использованием данных типа "дата". Примерно с третьего квартала прошлого года это реализовано в текущих версиях всех продуктов компании: On-Line Dynamic Server (начиная с версии 7.2X), On-Line XPS (8.2X), Informix Workgroup Server (7.2X), Informix Universal-Server (9.X), а также во всех поставляемых средствах разработки и middleware. В связи с наличием на российском компьютерном рынке большого количества находящихся в эксплуатации инофрмационных систем, реализованных на средствах низкого уровня (C, C++, Clipper, Clarion и т.п), мне представляется, что данная проблема актуальна для России. Дело в том, что при использовании таких средств, все бизнес-правила и методы работы с данными реализуются на уровне кода приложения, который необходимо будет переработать.

2 Компания Informix уже предприняла все необходимые шаги для решения проблемы хранения и обработки данных типа "дата", связанной с 2000 годом. В результате на сегодняшний день все текущие версии поставляемых продуктов являются "2000 год - совместимыми". Однако, к сожалению, проблема полностью не решается на уровне сервера СУБД или средства разработки приложений. В некоторых случаях речь может идти о некорректно написанном разработчиками приложении, например запрашивающем для ввода только две последних цифры года. С учетом этой ситуации Informix добавила в текущие версии своих продуктов новую переменную DBCENTURY, позволяющую дополнительно - как на уровне сервера, так и на уровне приложения или пользователя - задавать две старшие цифры года, которые будут использоваться по умолчанию при неполном вводе данных. Этот подход дает возможность решить проблему без переработки кода существующих приложений.

3 Обычно услуги по консультациям представляют собой часть контракта при поставке продуктов компании. И поэтому все легальные пользователи Informix при необходимости получат требуемую консультацию.

4 Я не слышал о подобных программах, и тем более об официально сформулированных "государственных требованиях". Я думаю, что если у какого-либо банка, использующего, например, продукты наших конкурентов, возникнут затруднения, связанные с переходом в новый век, то это в первую очередь проблемы поставщика решения и банка, а не правительства.

5 Совершенно не уверен, что проблема "2000 года" повлияет таким образом на российский рынок. К сожалению, на мой взгляд, русская ментальность предполагает попытки решения всевозможных затруднений собственными силами, не обращаясь к профессиональным командам. Другая возможная крайность - полная замена работающей системы с "проблемой 2000" на новую, не отягощенную подобным недостатком, но неработающую.

Александра Логинова, руководитель отдела маркетинга Департамента программных систем "АйТи"


1 Специфика российского рынка программных систем обусловлена тем, что этот рынок еще очень молод. Технология создания АСУ, которая разрабатывалась десятилетиями, в одночасье разрушилась, практически не оставив ничего взамен (кроме квалифицированных кадров и идей). Новые системы, целью которых - полностью автоматизировать крупные компании и корпорации, разрабатываются в течение 5-6 лет, тогда как западные системы класса R/3 (SAP), Oracle Applications (Oracle) существуют на западном рынке и успешно внедряются в течение 20 лет. На наш взгляд, "проблема 2000 года" коснется только тех "коробочных" отечественных программных продуктов, которые были разработаны для автоматизации отдельного участка, например бухгалтерии, и не рассчитаны на длительную эксплуатацию. Поскольку отечественные комплексные системы автоматизации создаются недавно - все форматы данных, в том числе и дат, проектировались с расчетом на будущее. Что касается компании "АйТи", то для системы БОСС "проблемы 2000 года" не существует.

2 Поскольку для системы БОСС такой проблемы нет, специалисты Департамента программных систем компании "АйТи" не планируют изменения форматов представления данных, кода программ, формирования отчетных документов и выходных форм. То есть все пользователи системы БОСС могут не волноваться в преддверии 2000 года - программный продукт их не подведет, и переход в новое тысячелетие пройдет без дополнительных затрат на информационные технологии.

3 Сегодня для создания эффективной информационной системы предприятия требуется шире взглянуть на организацию труда и управления, структуру предприятия и персонал, выявить узкие места в основных бизнес-процессах. Именно поэтому одним из стратегических направлений деятельности компании "АйТи" становится активная работа на рынке консалтинговых услуг. Компанией "АйТи" было выполнено несколько крупных консалтинговых проектов, сформирована команда высококвалифицированных специалистов, разработаны оригинальные методика и технология обследования. И если заказчик обратится к нам с такой проблемой, как переход к 2000 году в используемой им программной системе, мы обязательно ее решим. Причем решения могут быть самыми различными - от конвертации данных из закрытой "коробочной" системы для перехода на новую, более прогрессивную, до оценки существующей на предприятии системы управления и выбора наиболее подходящей информационной системы из предлагаемых на рынке отечественных и западных разработок. Что касается западных систем, наши специалисты готовы предоставить заказчикам сравнительный анализ решения "проблемы 2000 года" разными производителями бизнес-приложений.

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

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

Егор Назаренко, менеджеp по маpкетингу DataX/FLORIN


1 "Проблема" не является особой проблемы для нас. Естественно, она напоминает о себе при создании каждого продукта, но достаточно просто решается.

2 Каждый продукт фирмы создан (и создается) с учетом того, что он сможет автоматически бесперебойно работать после 2000 года. Некоторые ранние версии, созданные без учета данной проблемы, подвергнуты соответствующей модернизации. Пользователи, обладающие немодернизированными версиями, могут бесплатно заменить их на новые или вызвать нашего специалиста для устранения указанных неудобств на месте.

3 Готова за умеренную плату (и не только консалтинговые).

4 Ни о какой государственной поддержке говорить не приходится. О требованиях тоже никто не слышал.

5 Ввиду несущественности "проблемы 2000 года" для нас ни качественное, ни количественное расширение не планируется.

Елена Гавердовская, "Весть"

1 Проблема 2000 года в основном связана со старым ПО, которое разрабатывалось для мэйнфреймов. Поэтому можно с достаточной уверенностью сказать, что эта проблема не стоит остро на российском рынке.

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

3 Нет.

4 Нет.

5 Запросы были, но опять требовалось умение работы с программным обеспечением мэйнфреймов. Мы не специализируемся на этом, поэтому запросы были отклонены. Для нас достаточно рынка клиент-серверных приложений.


1 Предусмотрено ли проводить специальный анализ и тестирование ПО для выявления эффекта "ошибки 2000 года", в особенности в унаследованных приложениях?

2 Что сделано или планируется сделать для решения этой проблемы? Предусматривается ли для этого специальное финансирование?

3 Считаете ли вы необходимым, и если да, то планируете ли для решения этой проблемы пользоваться предлагаемыми иностранными компаниями специальным ПО и консалтинговыми услугами?

4 Правомерно ли говорить о государственной поддержке, и предъявляются ли какие-либо государственные требования к системам, подверженным влиянию "ошибки 2000 года"?


Алексей Решетилов, директор коммерческого департамента "Мультикард"


1-3 Платежные системы VISA, "Еврокард", "Мастер-кард" готовы к работе после 2000 года. Необходимость проверки корректности обработки дат после 2000 года была предусмотрена заблаговременно. Компании, обеспечивающие их поддержку, заранее получили соответствующие планы тестирования. Сейчас все терминалы и банкоматы настроены на обработку карточек, действительных и в третьем тысячелетии. Таких карточек уже немало. Системы отлажены таким образом, чтобы обрабатывать "00" и последующие значения в поле года как "2000" и так далее. Объем исправлений оказался небольшим, так как используется достаточно "свежее" ПО, однако несколько терминалов нуждалось в дополнительной настройке и изменении параметров.

Сейгенов Юрий Карлович, начальник отдела ГВЦ МПС


1-3 В ГВЦ МПС сложилась удачная, с точки зрения "проблемы 2000 года", ситуация. Сейчас осуществляется обновление ПО в связи со сменой машин. Устаревшие мэйнфреймы под MVS 70 будут заменены на архитектуру 390, при этом прикладное обеспечение очень сильно изменится. Особенности перехода в третье тысячелетие будут учтены еще при разработке. В ГВЦ используются программные средства компании Software AG - база данных ADABAS и среда Natural.

Михаил Елашкин, менеджер по маркетингу продуктов Oracle


1 Для компании Oracle переход в третье тысячелетие не составит проблемы. Все поставляемые сейчас продукты позволяют корректно представлять и обрабатывать дату. С другой стороны, ранние версии dBASE для DOS все равно должны быть переписаны, так как не удовлетворяют требованиям к современным вычислительным средствам.

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

2 Компания Oracle предлагает программные средства, позволяющие автоматизировать исправление программного обеспечения.

3 В компании существует специальное подразделение, предоставляющее консалтинговые услуги, в частности здесь готовы заниматься и "проблемой 2000 года".

4 О государственной поддержке слышать не приходилось.

Феоктистов Александр Федорович, главный инженер проекта, ПКТБ АСУ ЖТ


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

4 Пока рано говорить о финансировании. Наш заказчик - это государство, поэтому, вероятно, мы сможем воспользоваться государственным финансированием.

Березка Михаил Павлович, заведующий лабораторией НИИЖБ


1 Для системы продажи железнодорожных билетов "Экпресс" такая проблема существует. В настоящее время начинаются работы по переводу программного обеспечения на ОС 390 компании IBM. В новой версии особенности представления дат будут учтены, однако эта система вступит в строй заведомо позже 2000 года. Поэтому предусмотрен определенный объем изменений существующего ПО, необходимый для обеспечения ее работоспособности до введения в строй новой системы. Для выявления требуемых исправлений выполняется комплекс разработанных в НИИ тестов.

2 Исправления затронут только ограниченное число программных модулей, поскольку 5-8 лет назад была проведена определенная работа, и программы, обрабатывающие даты, выделили в отдельные модули. Сегодня это сильно упростит работу.

3 Благодаря специальному программному обеспечению, разработанному в НИИ, удастся примерно на 80% автоматизировать поиск фрагментов программ, подлежащих исправлению, и на 50% само их исправление.

4 НИИЖБ получил целевое государственное финансирование на проведение этих работ.


Страховым компаниям не хватит денег на возмещение ущерба и судебных издержек, связанных с "проблемой 2000 года", утверждает агентство N. P. James Insurance Agency. По прогнозу его специалистов, убытки могут достичь сотен миллиардов долларов. От судебных неприятностей, связанных с 2000 годом, не защищен никто. В связи с этим существует вероятность, что еще до продления страховых договоров на последующий год многие страховые компании объявят о снятии с себя ответственности за потенциальный ущерб в 2000 году. Поскольку возместить убытки из средств компаний не представляется возможным, им придется заранее отказаться от выплат, избежав тем самым судебных разбирательств.


JavaScript: через тернии к звездам?

Эрик Хаммонд, Бред Моррей

Может показаться, что ошибка тысячелетия в первую очередь проявится в унаследованных приложениях 25-летней давности, написанных еще на языке Кобол. Но, по всей видимости, современные новейшие технологии вовсе не гарантированы от "болезни века". Определенная некорректность, которой отличаются JavaScript компании Netscape и JScript, разработанный Microsoft, может привести к кризису: после 31 декабря 1999 года даты не будут преобразовываться должным образом. Более того, с датами до 1970 года тоже не все в порядке - еще одно свидетельство, что World Wide Web ориентирован на молодых.

По словам представителей Netscape и Microsoft, недавно анонсированный стандарт ECMAScript позволит им решить эти вопросы в следующих версиях своих браузеров. Но это решение по-прежнему будет предусматривать изменение существующих сценариев, написанных на JavaScript, в которых выполняются операции с объектами типа "дата". Это значит, что компаниям, использующим сценарии на JavaScript, возможно, придется проверить их на соответствие проблеме 2000 года и исправить ошибочный код.

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

Специалисты центра InfoWorld Test Center протестировали объекты, работающие с датами JavaScript в браузерах Netscape и Microsoft, и обнаружили несоответствия в документации и реализации языка описания сценариев (см. таблицу).

Согласно интерактивной документации для JavaScript 1.1 компании Netscape, объект типа "дата" хранит дату как "число миллисекунд, прошедшее начиная с 1 января 1970 года 0 часов 0 минут 0 секунд" (это мгновение называется Epoch), то есть использование дат до 1970 года не допускается.

Документация Netscape также ссылается на несколько связанных с датами методов, в числе которых getYear, "возвращающий значение года в специальном объекте даты", а также toLocaleString, который "преобразует дату в строку в соответствии с часовым поясом региона, где установлен данный компьютер".

Согласно документации, "метод getYear возвращает значение года в двузначном либо в четырехзначном представлении. Если дата попадает в промежуток от 1900 до 1999 года включительно, то значение, возвращенное этой функцией, будет числом, равным значению года минус 1900... Если год меньше 1900 или больше 1999, возвращаемое значение окажется четырехзначным". На самом деле это противоречит документации, касающейся описания объекта Date, где утверждается, что дата не может быть меньше 1970 года.

Тестирование в InfoWorld Test Center показало, что и Navigator 3.01, и Navigator 4.01 будут корректно хранить четырехзначные значения года от 100 до 2999 года нашей эры. Но ни та, ни другая версии метода toLocaleString браузера Netscape не будут корректно отображать даты до 1900 года.

Однако в документации Netscape утверждается, что функция getYear в том случае, если первые две цифры года не 19, возвращает четырехзначное представление года, в то время как getYear в IE всегда возвращает значение года минус 1900. Поэтому для 2001 года getYear выдаст число 101. Хотя этот метод работает именно так, как описано в документации Microsoft, разработчикам будет трудно написать включающий в себя операции с датами сценарий в JavaScript, который был бы одновременно совместим с браузерами Microsoft и Netscape.

В конечном счете решением проблемы 2000 года в JavaScript станет реализация метода getFullYear, имеющегося в ECMAScript. Пока ни Microsoft, ни Netscape не поддерживают его в существующих версиях своих браузеров, хотя обе обещают полное соответствие ECMAScript.


JavaScript - взгляд из Test Center

В зависимости от формата, применяемого для создание объектов-дат, методы getYear и toLocateString, разработанные JavaScript, дадут следующие результаты.

Формат даты30.09.199730.09.4130.09.194130.09.177630.09.2001
getYear
Netscape Navigator 3.01 Gold97Epoch4117762001
Netscape Navigator 4.097Epoch4117762001
Microsoft IE 3.0297EpochEpochEpoch101
Microsoft IE 4.0, beta97Нет номера41-124101
toLocaleString
Netscape Navigator 3.01 Gold09/30/97Epoch09/30/4109/30/.,09/30/01
Netscape Navigator 4.009/30/97Epoch09/30/4109/30/.,09/30/01
Microsoft IE 3.0209/30/97EpochEpochEpoch09/30/01
Microsoft IE 4.0, beta09/30/1997Нет номера09/30/4109/30/177609/30/2001


SAG предлагает Insight 2000 Toolkit

Хуан-Карлес Амброхо
InfoWorld Electric

Software AG Americas (SAG) представила программный продукт, который поможет программистам на языке Natural исправить ошибки, связанные с "проблемой 2000 года".

Insight 2000 Toolkit выходит в сентябре. С его помощью разработчики смогут оценить, какая часть кода должна быть переписана, и каких усилий это потребует. Инструментарий окажется полезен и непосредственно для изменения программ на Natural.

В Insight 2000 Toolkit предусмотрен режим полуавтоматической коррекции.

"Клиенты и консультанты, собирающиеся вносить изменения самостоятельно, найдут в нашем инструменте еще и прекрасное средство реинжиниринга", - сказал генеральный менеджер Insight 2000 Consulting Джон Черч.

Одним из этапов программы Insight 2000 стало открытие в январе этого года SAG Millennium Center. Центр берет на себя решение проблем 2000 года, позволяя компаниям функционировать в нормальном режиме.

Toolkit выполняет работу в два этапа. В ходе первого инструмент создает список всех компонентов на Natural и регистрирует все вхождения полей даты, перемещение данных и связи между компонентами. Модуль Parser разбирает команды Natural, используя исходный текст и таблицу символов объектного кода.

Затем Toolkit сканирует полученный список, идентифицируя все области, требующие исправления, и выдает отчет о масштабе и сложности предстоящей работы. Руководствуясь отчетом, программисты смогут проанализировать ошибки и исправить программу с помощью основанного на Windows модуля Navigator инструментария Toolkit, управляемого по принципу "укажи и выбери". Navigator следит за тем, чтобы действия программиста соответствовали рабочему плану, выработанному на этапе анализа.

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


Мышке слезки, а кошке радость

Компанию Viasoft, однако, наступление нового тысячелетия нисколько не пугает. Viasoft, специализирующаяся на разработке средств изменения даты, объявила о том, что в четвертом квартале ее доход предположительно составит 27,7 млн. долл., таким образом показатель соответствующего квартала прошлого года, когда оборот компании составил 14,5 млн. долл., будет "перекрыт" на 91%. При этом чистая прибыль компании достигнет 4 млн. долл. Эта цифра на 71% выше прошлогоднего показателя - 2,4 млн. долл. Финансовые аналитики считают компанию Viasoft лидером на рынке программных продуктов, созданных для перехода на новую систему дат.


Двухтысячный Дед Мороз не должен застать вас врасплох

Лина Фафард

Стандартный ПК поддерживает две системные даты: одна из них формируется КМОП-микросхемой часов истинного времени, установленной на материнской плате, а вторая - в операционной системе (DOS или Windows).

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

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

На моей системе установлена Windows 95, и тест выполняется по описанной ниже схеме:

  • Происходит перезапуск системы.
  • Пока система тестирует память, нажатием клавиши "Delete" осуществляется переход к экрану настройки.
  • На экране отображаются стандартные параметры настройки, хранящиеся в КМОП-памяти.
  • Дата в поле года изменяется следующим образом: клавишу "Page Down" нажимают до тех пор, пока на экране не появится 2001 или большее число.
  • Если так и происходит, значит система настроена на 2000 год. В противном случае на экране, как правило, отображается дата 01-04-1980, а значит, нечего и думать с такой экипировкой "соваться" в новое тысячелетие.

    Ряд фирм выпускает программные продукты, помогающие пользователям перешагнуть роковую черту. Программа Ymark 2000, предлагаемая National Software Testing Laboratories, тестирует ПК на пригодность к работе в 21 веке.

    Компания Right Time разработала программу, которая переключает ПК на 2000 год, если сам компьютер не делает этого. Она предназначена специально для домашних пользователей и распространяется бесплатно.

    В большинстве новейших прикладных программ предусмотрена возможность беспрепятственного перехода в новое тысячелетие при условии исправности генератора тактовых импульсов компьютера. Однако, возможно, понадобится модернизировать некоторые программы или изменить процедуру. Такие программы, как Quicken, Excel или Microsoft Access, готовы хоть сейчас встретить XXI век.


    "Просто я заменил батарейки"

    В отличие от отечественной прессы, хранящей безмолвное спокойствие, западные средства массовой информации не только пугают читателей последствиями "ошибки тысячелетия", но и пытаются предложить им разной степени изощренности (в зависимости от технической осведомленности) практические советы. Например, корреспондент одного уважаемого западного издания предлагает свой нехитрый рецепт - просто выключить компьютер. Если сделать это в канун нового, 1999, года, некоторые компьютеры можно будет "спасти". Корреспондент отмечает, что BIOS, контролирующая основные операции ввода-вывода, не умеет изменять значение века; поэтому, как только две последние цифры года примут значение 00, BIOS сделает сам год равным 1900. Чтобы избежать связанных с этим неприятностей, журналист, напомнив о том, что "BIOS работает лишь при включенном компьютере", советует его обмануть, выключив до того, как часы пробьют "полночь".