Es gibt diese typischen Probleme der Programmierung, bei denen man am Anfangs schnell dazu geneigt ist zu sagen: »Ach das mache ich mal ganz fix. Das geht schnell.« … und dann beginnt der Spaß.
Zeitzonen
Ein solches Ding sind Uhrzeiten und Zeitzonen. Es gibt ein schönes (englisches) Video von Computerphile, das die Komplexität von Zeitzonen erläutert: The Problem with Time & Timezones. Bekannt sind die Probleme mit Schaltjahr (Jahre mit 366 Tagen) und Schaltsekunde (Minuten mit 61 Sekunden), die durch die fortwährende Zählung der Sekunden seit 1970 mit der Unix-Zeit gelöst ist. Was ich aber vorher nicht kannte, war das Problem des Westjordanlands: dort lässt sich die Zeitzone nicht, wie ursprünglich die Idee war, anhand des Ortes (der geografischen Breite) bestimmen, sondern sie richtet sich nach der Religion. Die muslimische Bevölkerung verwendet die osteuropäische Zeitzone (EET), die jüdische Bevölkerung die israelische Zeitzone (IST). Die Zeitzonen nutzen grundlegend den gleichen Versatz (UTC+2) zur Weltzeit (UTC/GMT), aber bei der IST verfolgt der Wechsel zur Sommerzeit an einem Freitag, bei der EET an einem Sonntag.
Also Zeitzonen bieten genug Potential für einen Wahnsinn. Ähnlich ist es mit Uhrzeiten, denn wenn man in diese Thema einmal abtaucht, findet man zum Beispiel im Linux-Kernel vier oder fünf verschiedene Uhren, die auch immer unterschiedlich gehen und jeweils eine andere Bedeutung und Nutzen haben – »Zeit ist relativ«.
Der Spaß mit der Uhrzeit wird noch besser: Es wurde festgestellt, dass sich die Drehung der Erde beschleunigt hat und somit eine negative Schaltsekunde eingeführt werden muss; hier erwähnt. Voraussichtlich wird die letzte Minute im Jahr 2029 nur 59 Sekunden haben.
Übersetzungen
Auch bei Übersetzung glaubt man, dafür könne man mal schnell ein System programmieren, aber wenn man auf die Pluralregeln der verschiedenen Sprachen stößt, fängt es an, komplex zu werden: Schon im Deutschen wird nichts mit der Pluralform gebildet (»Keine Bücher«) und im Polnischen unterscheidet man zwischen einem, wenigen (2–4) und vielen (ab 5), aber diese Staffelungen wiederholen sich ab 20 wieder und bei 100 beginnt es von vorn.
Im Französischen gab es auch noch irgendeine Besonderheit mit der Stellung der Wörter. Also Übersetzungssysteme sind auch ein umfangreiches Thema.