Личные инструменты
Счётчики
Рекламодателям

Проблема 2000

Материал из Lurkmore

Перейти к: навигация, поиск
«

...Загорятся реки, взорвутся дороги, калькуляторы превратятся в ядерные боеголовки.

»
Футурама о проблеме 2000
«

...Из-за не устраненных вовремя ошибок, связанных с «проблемой 2000 года», корпорация Microsoft отложила выпуск Windows 2000 до 1-го квартала 1901 года

»
Компьютерра о проблеме 2000
Берегись миллениума
Пресловутая плата
Решение проблемы для некоторых похоже затянулось…

Проблема 2000, она же Y2K (Year 2 kilos, то есть год 2 тысячи, иногда транслитерируется на расовый русский как «Удвак») — внезапное выпиливание всех компьютеров в мире, которое ожидалось в первую миллисекунду 2000 года.

Виной тому — жадные программисты прошлого тысячелетия, которые поскупились выделить лишний байт для хранения даты; в результате, 1999 год должен был смениться на 1900 или 19100[1], ставя человечество на грань временного парадокса и деления на ноль. Градус добавляли вполне реальные подобные баги в самых разнообразных программах, неоднократно вылезавшие боком.

Предчувствуя глобальную катастрофу и возможный попил бабла, лучшие умы человечества объединились, чтобы дать бой этой напасти. Был разработан хитрый план, отпечатаны более 9000 книг по борьбе с недостающим байтом, а число патчей к различному софту исчислялось миллионами. В результате «проблема 2000» была полностью побеждена, и человечество возликовало. Несколько омрачал радость тот факт, что ни единого разрыва не произошло даже в тех странах, которые с проблемой не боролись, правительственных комиссий не создавали, книг не печатали и патчей не выпускали. И главное, миллиарды денег за новые, проверенно-сертифицированные версии разнообразных маздаев никому не платили. Но прогрессивным людям недосуг оглядываться на такие мелочи, ведь впереди ещё много трудностей, о разрешении которых нужно начинать думать уже сейчас. Например, проблема 10000 или хотя бы 2038.

Содержание

[править] Y2K11

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

[править] Y2K38

Ещё одна люто, бешено ожидаемая ошибка, связанная с инкрементирующим оверлоудом счётчика секунд, прошедших с начала эпохи C. Все программы, использующие 32-разрядное время библиотеки <time.h>, ёкнутся нафиг. С переходом на 64 разряда этот сценарий конца света становится неактуальным (вернее, переносится на 4 декабря 292277026596 года. Это, конечно же, очень всех беспокоит, но ссылку на пока ещё пустой шаблон Проблема_292277026596_года в Википедии уже поставили).

[править] 2100

2100 хоть и делится на четыре, но этот год не будет високосным, так как в григорианском календаре года, делящиеся без остатка на 100, не являются високосными, если не делятся без остатка на 400 (таким был 2000). Очевидно, что быдлокода без учёта этой особенности over 9000. Да кстати стоит добавить то, что в Windows XP времяисчисление ограничено до 2099 года, а т.к мелкомягкие ничего серьёзнее этой системы не сделали и Vistой и 7 никто особо не пользуется, следовательно, когда настанет 2100 год, ваш компьютер покажет, что сейчас 1985 год, и вы нахрен в прошлое улетели. Что характерно, ошибка 2100 не исправлена ни в Висте, ни в семёрке.

[править] 2107

2107-й год является последним годом, поддерживаемым файловой системой FAT (включая новомодную проприетарную до мозга костей exFAT). Эта файловая система используется на флэшках, отформатированных под Windows.

[править] 30828

В 30828-м году происходит переполнение времени в формате FILETIME, который используется повсеместно в Windows, включая файловую систему NTFS. Поэтому в 30828 году нас ждёт катастрофа. Но кто тогда будет пользоваться виндами?

[править] IRL

У многих может возникнуть впечатление, что проблема была высосана из пальца и реально никакой угрозы, тем более глобальной, не существовало. Однако следует учитывать местную специфику. Пока в этой стране ударными темпами пытались построить коммунизм к 1980 году и клеили танчики, проклятые капиталисты пытались выкинуть на улицу без выходного пособия существовавший у них уже тогда офисный планктон, внедряя в стране эльфов, Цюрихе, Лондоне и прочих интересных местах, первые банковские компьютеры на базе мейнфреймов. Софт для этих монстров в связи с отсутствием писался на таких интересных языках как COBOL, FORTRAN и прочих радостях гиков, которые большинство современных программистов считают вымершими из-за отсутствия статей про них на хабре.

Так как со временем парк мейфреймов естественным путем убывал, а денег и нервов на переиздание всего выводка программ на С++ было жалко, то очень часто принималось тупое и эффективное решение: выбывающий мейнфрейм заменялся современным сервером, внутри которого крутился виртуальный двойник того самого мейнфрейма со всеми программами 70-ых годов написания. Как известно, раньше трава была зеленее, тян чаще давали, а программы писались добротно, без всяких там переполняющихся буферов и утечек драгоценной памяти. А раз работает — не трогай. PROFIT??? Не совсем… В результате к 2000 году многие весьма известные и уважаемые организации (типа банков и страховых контор) подошли с наличием у них ПО, которое мало того, что поведет себя совершенно непредсказуемо, но и написанного 20 лет назад на непонятных языках, учебники по которым уже давно сдали на макулатуру, а документацию и исходные тексты отдали в музей. Поэтому во второй половине 90-ых наблюдался резкий рост зарплат и вакансий для специалистов, владеющих соответствующими языками. Бородатые гики 70-ых, которые к указанному времени не спились и не потеряли квалификации, смогли срубить немало бабла даже в качестве простых программистов.

В этой стране естественный выпил большинства мамонтов отечественного компьютеростроения произошел в начале 90-ых из-за проигрыша зарубежным аналогам в результате естественного отбора. Более того, всеобщее нищебродство оттянуло момент тотальной компьютеризации до того времени, как 640К памяти уже хватало далеко не всем. Тем не менее банковским ИТшникам пришлось оторваться от сапера, дабы разобраться с ДОСовскими программами, купленными в первой половине 90-ых у благополучно развалившихся наследников советских кооперативов.

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

[править] Y2K в играх

В игре Metal Gear Solid 2: Sons of Liberty, проблема Y2K была обыграна довольно занятно. Патриоты под видом патчей, решающих эту проблему, подсунули всем программы-цензоры, дабы получить полный контроль над информацией.

В винрарнейшей игре SkiFree начиная ровно с дистанции 2000 метров за тобой начинает гоняться снежный человек.

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

[править] Ссылки

[править] См. также

[править] Примечания

  1. Особо криворукие быдлокодеры для облегчения всякого рода сортировок и прочих работ с датой ещё в середине 70-х гг заложили кучу самых невероятных ляпов в свои программы и библиотеки. Типичное решение — дату хранить в int с отсчетом от 1900-го года, поэтому после 1900+99=1999 ожидался 1900+100, да ещё не «плюс» в смысле арифметики, а в смысле «дописать в строку при выводе», и хорошо ещё если догадывались оставить два символа, а не всунуть как есть. Расово верный ArtMoney for DOS всовывал как есть. К 2000 году большинство подобного творчества благополучно скончалось естественным путем от древности, но есть смена же.