О сколько нам мгновений чудных…

11 январь, 2010 - 15:45Игорь Дериев

…готовят компьютеры, а вернее их архитекторы, программисты и иже с ними.

Новый 2010 год наступил достаточно тихо, без особых катаклизмов, катастроф и пр. Хотя, конечно, не для всех. В Германии, к примеру, значительная часть населения некоторое время не могла воспользоваться своими платежными картами. И знаете почему? Оказывается ПО, обсуживающее систему и банкоматы, некорректно обрабатывало даты с 01.01.2010. В свое время многие сочли слишком раздутой проблему Y2K – действительно, в итоге она вылилась лишь в толику частных инцидентов, похоже, вовсе на коснувшись большинства из нас. Но тем более, не смешно ли через 10 лет наступать на те же грабли?

Впрочем, я эту информацию вычитал не в первоисточнике и за правдивость технической стороны не поручусь. Однако вполне верю, что все произошло именно как описано. Почему? А вот вам другой пример – менее «страшный», но зато подтвержденный. Именно в новогоднюю ночь проявилась аналогичная ошибка в управляющем компоненте Symantec Endpoint Protection 11 и 12 – обслуживаемые им клиенты попросту перестали обновляться.

А сколько еще подобных «чудных» мгновений ждет нас? Вы ошибетесь, если предположите, что подобными нюансами чреваты только круглые даты. Еще есть високосные годы, с которыми также не все в ладах – иначе не было бы позапрошлогоднего приключения с моим Zune. А еще есть такие даты, о которых непосвященный даже не задумается.

Самая «яркая» из них – 19.01.2038, причем время «Ч» настанет вовсе не в 00:00:00, а в 03:14:07 по Гринвичу. Именно тогда переполнятся 32 разряда, отведенные на хранение даты-времени (исчисляемых в секундах с 00:00:00 01.01.1970) во многих компиляторах, ОС, файловых системах, BIOS, чипах и т.д. В «Википедии» можно найти большие подробности и даже помедитировать на соответствующий таймер, уповая что к его обнулению весь мир окончательно перейдет на 64 бита и напрочь забудет о жалких 32, а пострадают лишь самые отъявленные ретрограды :)