Votre programme peut faire tout ce que vous voulez. La seule condition est qu'il fonctionne comme prévu si la date est antérieure à 2000 et échoue de façon spectaculaire par la suite. Définissez de façon spectaculaire comme vous le souhaitez.
Pour tous ceux qui ont raté le premier Y2K, voici votre chance!
Répondez avec le score le plus élevé.
Réponses:
Python
Les vrais bogues de l'an 2000 sont sur l'année représentés par un nombre à 2 chiffres. Et faire quelque chose de mal lorsque ce nombre déborde à 0. Comme ce chien de garde des missiles nucléaires, lançant tous les ICBM si nous n'avons pas reçu de message de battement de coeur du QG en 60 secondes.
la source
Java et cmd
Où est catastrophe.bat
la source
Ruby, code golf (31 caractères)
C'est censé ne rien faire. L'échec est assez "spectaculaire" (sur les anciens systèmes Unix sans le drapeau racine de réserve) :-)
la source
Ruby (962 caractères)
Pour être honnête, les catastrophes ici ne semblent pas authentiques. J'ai décidé de faire quelque chose qui semble plus ... euh ... légitime. Le code est digne du Daily WTF, mais à part ça, c'est crédible (si vous travaillez dans une société de programmation terriblement mauvaise, c'est-à-dire).
Avertissement: ce code EST dangereux et il détruira votre ordinateur (si vous n'avez pas de
--no-preserve-root
protection, c'est-à-dire). Ne cours pas.la source
SH
Mentir est une chose très terrible :)
la source
Javascript
la source
Cela fonctionne comme prévu sur Slackware Linux 4.0 (sorti en mai 1999) - jusqu'à la dernière modification des fichiers en 2000, qui sont remplacés par les anciennes versions de 1999!
la source
SQL
Malheureusement, ce tableau a hérité de certaines "caractéristiques" du système précédent. L'un d'eux était un champ à deux chiffres pour contenir l'année de fin.
la source
Java + SQL
Je pense que cela correspond mieux à l'objectif de la question - c'est-à-dire une rupture accidentelle.
Disons qu'il s'agit d'une demande d'enregistrement de naissance, où ils enregistrent les nouveau-nés dans une base de données et délivrent des certificats de naissance. Un "génie" a conçu la table un peu comme ceci:
Et l'application java pour enregistrer les naissances a un code dans le sens de:
L'INSERT commencerait alors à échouer en l'an 2000 et personne ne pourrait plus obtenir un certificat de naissance. Raison - java.util.Date # getYear () renvoie l'année moins 1900, qui a 3 chiffres commençant en 2000.
la source
Je ne suis pas programmeur, mais j'aime lire ces articles pour voir ce que d'autres personnes talentueuses trouvent (et pour rire). Le script shell occasionnel est à peu près aussi proche que je viens du vrai codage. En voici un pour le mélange cependant:
Frapper
la source
C #
Que ce passe-t-il:
Hé, un générateur de nombres aléatoires! Cool! Je peux l'utiliser pour ... euh ... eh bien, ça n'a pas d'importance.
Ce programme utilise la valeur time_t plus une constante
totalement aléatoirepour générer une graine. Malheureusement, cette valeur au 2000/01/01 devient supérieure à 2.147.483.647, ce qui est laint
limite. La conversiontime_t
génère un fichierinteger overflow
. Cela n'aurait pas été un problème sans laMath.Log
fonction qui essaie maintenant de calculer le logarythme d'une quantité négative, ce qui est impossible. La graine devientNaN
et l'instruction suivante échoue.EDIT: Suppression d'une ligne de code inutile, héritage d'une solution précédente que j'ai abandonnée avant d'écrire celle-ci.
la source
sh
censé imprimer
sh: \: command not found
, se brise terriblement après 2000la source
C
Ce programme bousille en raison d'années à deux chiffres. Au sens propre.
Remarque: assurez-vous que vous avez enregistré toutes les données avant de l'exécuter ou appliquez une limite de processus. Cela exécutera une bombe fourchette,
la source
Python 343 caractères
947 caractères avec commentaires, 343 caractères sans commentaires
Je suis plutôt certain que celui-ci a causé de réels problèmes (et au-delà de 2000).
la source
C ++ - 194 caractères
À 2000, il affichera le message que votre ordinateur n'est pas compatible avec l'an 2000 et l'arrêt.
la source
SH
C'est inoffensif depuis que nous sommes en 2013. Essayez-le vous-même;).
REMARQUE: Le commentaire ci-dessus était une blague , le script SH ci-dessus est extrêmement dangereux et ruinera probablement votre système.
la source
;
avantthen
, vouliez-vous vraiment l'imprimersh: rm -rf ~: command not found
Oracle SQL
ORDERS
contient des informations relatives au traitement des commandes de catalogue de vente par correspondance. Chaqueorder_id
peut avoir plusieurs transactions (créées, traitées, exécutées, annulées)Conserver uniquement la transaction la plus récente par commande:
la source