Ihr Programm kann alles, was Sie wollen. Die einzige Bedingung ist, dass es wie erwartet funktioniert, wenn das Datum vor 2000 liegt und danach spektakulär versagt. Definieren Sie spektakulär, wie Sie möchten.
Für alle, die das erste Jahr verpasst haben, ist hier Ihre Chance!
Antwort mit höchster Punktzahl gewinnt.
Antworten:
Python
Echte Y2K-Bugs werden etwa im Jahr als zweistellige Zahl dargestellt. Und etwas falsch machen, wenn diese Zahl auf 0 überläuft. Zum Beispiel dieser Atomwächter, der alle ICBMs startet, wenn wir innerhalb von 60 Sekunden keine Heartbeat-Nachricht vom HQ erhalten haben.
quelle
Java und cmd
Wo ist disaster.bat?
quelle
Ruby, Code Golf (31 Zeichen)
Es soll nichts tun. Der Fehler ist ziemlich "spektakulär" (auf alten Unix-Systemen ohne die Option "root" beibehalten) :-)
quelle
Ruby (962 Zeichen)
Um ehrlich zu sein, die Katastrophen hier sehen nicht authentisch aus. Ich habe beschlossen, etwas zu machen, das mehr ... ähm ... legitim zu sein scheint. Der Code ist The Daily WTF würdig, aber ansonsten ist es glaubwürdig (wenn Sie in einer schrecklich schlechten Programmierfirma arbeiten).
Warnung: Dieser Code ist gefährlich und zerstört Ihren Computer (wenn Sie keinen
--no-preserve-root
Schutz haben ). Renne nicht.quelle
Sch
Lügen ist eine sehr schreckliche Sache :)
quelle
Javascript
quelle
Dies funktioniert unter Slackware Linux 4.0 (freigegeben im Mai 1999) wie vorgesehen - bis es Dateien gibt, die zuletzt im Jahr 2000 geändert wurden und von alten Versionen aus dem Jahr 1999 überschrieben wurden!
quelle
SQL
Leider hat diese Tabelle einige "Merkmale" vom vorherigen System geerbt. Eines davon war ein zweistelliges Feld für das Kündigungsjahr.
quelle
Java + SQL
Ich denke, dies entspricht besser dem Ziel der Frage - dh unbeabsichtigtes Brechen.
Nehmen wir an, dies ist eine Anwendung für ein Geburtsregister, in dem Neugeborene in einer Datenbank erfasst und Geburtsurkunden ausgestellt werden. Einige "Genies" haben den Tisch so gestaltet:
Und die Java-Anwendung zum Registrieren von Geburten enthält folgenden Code:
Dann würde das INSERT im Jahr 2000 scheitern und niemand könnte mehr eine Geburtsurkunde bekommen. Grund - java.util.Date # getYear () gibt das Jahr minus 1900 zurück, das ab 2000 aus 3 Ziffern besteht.
quelle
Ich bin kein Programmierer, aber ich lese gerne diese Beiträge, um zu sehen, was andere talentierte Leute (und für die Lacher) einfallen. Das gelegentliche Shell-Skript ist ungefähr so nah, wie ich es mit der wahren Codierung kenne. Hier ist eine für den Mix:
Bash
quelle
C #
Was ist los:
Hey, ein Zufallsgenerator! Cool! Ich kann es für ... ähm ... naja, es ist egal.
Dieses Programm verwendet den Wert time_t plus eine
völlig zufälligeKonstante, um einen Startwert zu generieren. Leider wird dieser Wert am 01.01.2000 höher als 2.147.483.647, was derint
Grenzwert ist. Konvertierentime_t
erzeugt eineinteger overflow
.Math.Log
Ohne die Funktion, die nun versucht, den Logarythmus einer negativen Größe zu berechnen, wäre dies kein Problem gewesen , was unmöglich ist. Samen wirdNaN
und die folgende Anweisung schlägt fehl.BEARBEITEN: Eine nicht benötigte Codezeile wurde entfernt, das Erbe einer früheren Lösung, die ich vor dem Schreiben dieser Lösung aufgegeben habe.
quelle
Sch
soll drucken
sh: \: command not found
, bricht schrecklich nach 2000quelle
C
Dieses Programm ist aufgrund von zweistelligen Jahren fehlerhaft. Buchstäblich.
Hinweis: Stellen Sie sicher, dass Sie alle Daten gespeichert haben, bevor Sie dies ausführen, oder erzwingen Sie ein Prozesslimit. Dies wird eine Gabelbombe laufen,
quelle
Python 343 Zeichen
947 Zeichen mit Kommentaren, 343 Zeichen ohne Kommentare
Ich bin mir ziemlich sicher, dass dies tatsächlich Probleme verursacht hat (und das seit 2000).
quelle
C ++ - 194 Zeichen
Bei 2000 wird die Meldung angezeigt, dass Ihr Computer nicht mit Y2K kompatibel ist und heruntergefahren wird.
quelle
Sch
Das ist harmlos, seit wir im Jahr 2013 sind. Probieren Sie es aus;).
HINWEIS: Der obige Kommentar war ein Witz , das obige SH-Skript ist extrem gefährlich und wird wahrscheinlich Ihr System ruinieren.
quelle
;
vorthen
, meine hast du wirklich auch , es zu druckensh: rm -rf ~: command not found
Oracle SQL
ORDERS
Enthält Informationen zur Abwicklung von Versandkatalogbestellungen. Jederorder_id
kann mehrere Transaktionen haben (angelegt, bearbeitet, erledigt, storniert)Behalten Sie nur die letzte Transaktion pro Bestellung bei:
quelle