Ваша программа может делать все что угодно. Единственным условием является то, что он работает так, как ожидалось, если дата до 2000 года , и после этого эффектно проваливается. Определите эффектно, как бы вы ни хотели.
Для всех тех, кто пропустил первый Y2K, вот ваш шанс!
Ответ с наибольшим количеством побед.
Ответы:
питон
Реальные ошибки 2000 года примерно год представлены в виде двузначного числа. И делать что-то не так, когда это число переполняется до 0. Например, эта система контроля ядерных ракет запускает все МБР, если мы не получили сообщение пульса от штаб-квартиры в течение 60 секунд.
источник
Java и CMD
Где катастрофа
источник
Рубин, код гольф (31 символ)
Это должно ничего не делать. Ошибка довольно «впечатляющая» (на старых системах Unix без флага сохранения корня) :-)
источник
Рубин (962 символа)
Если честно, бедствия здесь не выглядят подлинными. Я решил сделать что-то, что кажется более ... хм ... законным. Код The Daily WTF достоин, но, кроме этого, он правдоподобен (если вы работаете в ужасно плохой программистской компании, то есть).
Предупреждение: этот код опасен, и он разрушит ваш компьютер (если у вас нет
--no-preserve-root
защиты, то есть). Не беги.источник
SH
Ложь очень страшная вещь :)
источник
Javascript
источник
Это работает, как и предполагалось, в Slackware Linux 4.0 (выпущен в мае 1999 г.) - до тех пор, пока не появятся файлы, которые были в последний раз изменены в 2000 г. и перезаписаны старыми версиями с 1999 г.!
источник
SQL
К сожалению, эта таблица унаследовала некоторые «характеристики» от предыдущей системы. Одним из них было двузначное поле для хранения года окончания.
источник
Java + SQL
Я думаю, что это лучше соответствует цели вопроса - непреднамеренной поломке.
Допустим, это приложение для регистрации рождений, где они регистрируют новорожденных в базе данных и выдают свидетельства о рождении. Какой-то «гений» разработал таблицу примерно так:
И Java-приложение для регистрации рождений имеет некоторый код в виде:
Тогда INSERT начнет выходить из строя в 2000 году, и никто не сможет получить свидетельство о рождении. Причина - java.util.Date # getYear () возвращает год минус 1900, который имеет 3 цифры, начиная с 2000 года.
источник
Я не программист, но мне нравится читать эти посты, чтобы посмотреть, что придут другие талантливые люди (и для смеха). Случайный сценарий оболочки примерно так же близок, как я подошел к истинному кодированию. Вот один из них, хотя:
удар
источник
C #
Что происходит:
Эй, генератор случайных чисел! Здорово! Я могу использовать это для ... эм ... ну, это не имеет значения.
Эта программа использует значение time_t плюс
абсолютно случайнуюконстанту для генерации начального числа. К сожалению, это значение 2000/01/01 становится выше 2 147 483 647, что являетсяint
пределом. Преобразованиеtime_t
создаетinteger overflow
. Это не было бы проблемой, если бы неMath.Log
функция, которая сейчас пытается вычислить логарифм отрицательной величины, что невозможно. Семя становитсяNaN
и следующая инструкция терпит неудачу.РЕДАКТИРОВАТЬ: Удалена ненужная строка кода, наследие предыдущего решения, от которого я отказался до написания этого.
источник
ш
должен печатать
sh: \: command not found
, ужасно ломается после 2000источник
С
Эта программа не работает из-за двухзначных лет. В прямом смысле.
Примечание: убедитесь, что вы сохранили все данные перед запуском этого или установите ограничение процесса. Это запустит вилочную бомбу,
источник
Python 343 персонажа
947 знаков с комментариями, 343 знака без комментариев
Я уверен, что этот вызвал реальные проблемы (и в прошлом 2000 в этом).
источник
C ++ - 194 символа
На 2000, он будет отображать сообщение о том, что ваш компьютер не совместим с Y2K и выключение.
источник
SH
Это безвредно, так как мы в 2013 году. Попробуйте сами;).
ПРИМЕЧАНИЕ. Приведенный выше комментарий был шуткой , приведенный выше сценарий SH чрезвычайно опасен и, вероятно, разрушит вашу систему.
источник
;
раньшеthen
, также вы действительно имели в виду печататьsh: rm -rf ~: command not found
Oracle SQL
ORDERS
содержит информацию, относящуюся к обработке заказов по почте. каждыйorder_id
может иметь несколько транзакций (созданных, обрабатываемых, выполненных, отмененных)Сохранять только самые последние транзакции для каждого заказа:
источник