Su programa puede hacer lo que quiera. La única condición es que funcione como se esperaba si la fecha es anterior a 2000 , y falla espectacularmente después. Define espectacularmente como quieras.
Para todas aquellas personas que se perdieron el primer Y2K, ¡esta es su oportunidad!
Responda con la puntuación más alta gana.
Respuestas:
Pitón
Los errores reales del año 2000 se representan aproximadamente en el año como un número de 2 dígitos. Y hacer algo mal cuando ese número se desborda a 0. Como este perro guardián de misiles nucleares, que lanza todos los ICBM si no hemos recibido un mensaje de corazón en 60 segundos.
fuente
Java y cmd
Donde está desastre.bat
fuente
Ruby, código golf (31 caracteres)
Se supone que no debe hacer nada. El fallo es bastante "espectacular" (en sistemas Unix antiguos sin el indicador raíz de preservar) :-)
fuente
Rubí (962 caracteres)
Para ser sincero, los desastres aquí no parecen auténticos. Decidí hacer algo que parece más ... uhm ... legítimo. El código es digno de The Daily WTF, pero aparte de eso, es creíble (si trabajas en una empresa de programación terriblemente mala, claro).
Advertencia: este código ES peligroso y destruirá su computadora (si no tiene
--no-preserve-root
protección, eso es). No corras.fuente
SH
Mentir es una cosa muy terrible :)
fuente
Javascript
fuente
Esto funciona según lo previsto en Slackware Linux 4.0 (lanzado en mayo de 1999), ¡hasta que haya archivos modificados por última vez en 2000, que se sobrescriben con las versiones anteriores de 1999!
fuente
SQL
Desafortunadamente, esta tabla heredó algunas "características" del sistema anterior. Uno de los cuales era un campo de dos dígitos para contener el año de terminación.
fuente
Java + SQL
Creo que esto coincide mejor con el objetivo de la pregunta, es decir, la rotura involuntaria.
Digamos que esta es una aplicación para un registro de nacimientos, donde registran a los recién nacidos en una base de datos y emiten certificados de nacimiento. Algunos "genios" diseñaron la tabla de esta manera:
Y la aplicación de Java para registrar nacimientos tiene un código similar al siguiente:
Luego, el INSERT comenzaría a fallar en el año 2000 y ya nadie podría obtener un certificado de nacimiento. Motivo: java.util.Date # getYear () devuelve el año menos 1900, que tiene 3 dígitos a partir de 2000.
fuente
No soy un programador, pero me gusta leer estas publicaciones para ver lo que otras personas talentosas inventan (y para las risas). El script de shell ocasional es lo más parecido a la verdadera codificación. Sin embargo, aquí hay uno para la mezcla:
Golpetazo
fuente
C#
Qué esta pasando:
¡Hola, un generador de números aleatorios! ¡Frio! Puedo usarlo para ... ehm ... bueno, no importa.
Este programa utiliza el valor time_t más una constante
totalmente aleatoriapara generar una semilla. Desafortunadamente, este valor en 2000/01/01 se vuelve más alto que 2,147,483,647, que es elint
límite. La conversióntime_t
genera uninteger overflow
. Esto no habría sido un problema si no fuera por laMath.Log
función, que ahora trata de calcular el logarythm de una cantidad negativa, lo cual es imposible. La semilla se convierteNaN
y la siguiente instrucción falla.EDITAR: Se eliminó una línea de código innecesaria, legado de una solución anterior que abandoné antes de escribir esta.
fuente
sh
se supone que imprime
sh: \: command not found
, se rompe terriblemente después del 2000fuente
C
Este programa se arruina debido a años de dos dígitos. Literalmente.
Nota: Asegúrese de haber guardado todos los datos antes de ejecutar esto o imponer un límite de proceso. Esto ejecutará una bomba tenedor,
fuente
Python 343 caracteres
947 caracteres con comentarios, 343 caracteres sin comentarios
Estoy bastante seguro de que este ha causado problemas reales (y más allá del 2000).
fuente
C ++ - 194 caracteres
En 2000, mostrará el mensaje de que su computadora no es compatible con Y2K y se apagará.
fuente
SH
Esto es inofensivo ya que estamos en 2013. Pruébalo tú mismo;).
NOTA: El comentario anterior fue una broma , el script SH anterior es extremadamente peligroso y probablemente arruinará su sistema.
fuente
;
antesthen
, tambiénsh: rm -rf ~: command not found
Oracle SQL
ORDERS
contiene información relacionada con el procesamiento de pedidos por catálogo de pedidos por correo. Cada unoorder_id
puede tener múltiples transacciones (creadas, procesadas, cumplidas, canceladas)Conserve solo la transacción más reciente por pedido:
fuente