Est-ce que «cal» est cassé? Que s'est-il passé en septembre 1752?

28

Si vous regardez la sortie de cal 9 1752vous verrez cette étrange sortie:

   September 1752
 S  M Tu  W Th  F  S
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

L'histoire suivante intitulée " cal 9 1752 expliqué" "a été copiée d'une liste de news au début des années 90 et archivée sous Collections de trucs drôles pour un public informatique par David G. Wiseman (un gestionnaire de réseau au département d'informatique de l'Université de l’Ouest de l’Ontario).

Le gars qui a écrit à l'origine la commande "cal" sur une vieille machine de la version 7 avait une erreur de coup par coup dans son code. Cela s'est révélé comme une sortie erronée lorsqu'une variable malloc'd a remplacé 12 octets supplémentaires par des zéros, conduisant ainsi à la sortie de calendrier étrange vue ci-dessus.

Maintenant, personne dans son bon sens ne se soucie vraiment du calendrier de septembre 1752. Même l' idée de l'année 1752 n'existe pas sous UNIX, car le temps n'a commencé pour UNIX qu'au début de 1970. Par conséquent, personne ne savait même que "cal "a eu cette erreur bien plus tard. À ce moment-là, il y avait des milliers d'exemplaires de "cal" flottant, dont beaucoup en binaire uniquement. Il était trop tard pour les réparer tous.

Ainsi, au milieu de 1975, certains hauts fonctionnaires d'AT & T ont rencontré le pape et sont parvenus à un accord. Le calendrier a été modifié rétroactivement pour aligner septembre 1752 sur la réalité UNIX. Depuis que le calendrier a été modifié en comptant à rebours à partir du 14 septembre 1752, aucune des dates postérieures n'a été affectée. Les dates précédentes ont toutes été décalées de 12 jours. Ils ont également corrigé la page de manuel de "cal" pour documenter le bogue en tant que fonctionnalité.

Les 11 jours du 3 septembre au 13 septembre ont tout simplement disparu des records. Ils ont fouillé les livres d'histoire et ont constaté que, heureusement, rien de très important ne s'est produit pendant ces 11 jours.

Dans l'ensemble, cet incident était à peu près un non-événement. Un auteur de science-fiction en a entendu parler plus tard et a fait exploser la chose dans un long ouvrage de science-fiction intitulé "The Lathe of Heaven", un livre qui, à mon avis, ressemble peu à ce qui s'est réellement passé.

Quelle est la véritable explication de l'anomalie de sortie?

LanceBaynes
la source
14
Vous ne voyez pas le /humorrépertoire dans l'URL que vous avez publiée? ;)
alex
1
Ce lien m'a fait bien rire.
jw013
1
... qu'est-ce qui ne va pas avec la sortie? : p
d33tah
Un calendrier grégorien proleptique semble plus raisonnable sinon vous devez connaître le pays, la religion, etc. pour déterminer le calendrier avec une certaine précision.
jfs
1
Même l'idée de l'année 1752 n'existe pas sous UNIX ... ... mais l'idée d'UNIX existait-elle en 1752?
Alois Mahdal

Réponses:

49

Pour retracer la vraie histoire, essayez de man calvous lancer:

The Gregorian Reformation is assumed to have occurred in 1752 on the 3rd
of September.  By this time, most countries had recognized the reforma-
tion (although a few did not recognize it until the early 1900’s.)  Ten
days following that date were eliminated by the reformation, so the cal-
endar for that month is a bit unusual.

Ensuite, si votre histoire est sommaire, continuez avec Wikipedia pour plus d'informations sur les changements introduits par le calendrier grégorien et son histoire d'adoption dans diverses parties du monde:

La réforme du calendrier grégorien comprenait deux parties, une réforme du calendrier julien utilisé jusqu'au temps du pape Grégoire, ainsi qu'une réforme du cycle lunaire utilisé par l'Église ainsi que le calendrier julien pour calculer les dates de Pâques.
[...]
En plus du changement de la durée moyenne de l'année civile de 365,25 jours (365 jours 6 heures) à 365,2425 jours (365 jours 5 heures 49 minutes 12 secondes), une réduction de 10 minutes 48 secondes par an , la réforme du calendrier grégorien a également traité de la différence accumulée par le passé entre ces longueurs.
[...]
En raison de la réforme protestante, cependant, de nombreux pays d'Europe occidentale n'ont pas initialement suivi la réforme grégorienne et ont conservé leurs systèmes à l'ancienne. Finalement, d'autres pays ont suivi la réforme dans un souci de cohérence, mais au moment où les derniers adhérents du calendrier julien en Europe de l'Est (Russie et Grèce) sont passés au système grégorien au 20e siècle, ils ont dû abandonner 13 jours de leur calendrier , en raison de la différence cumulée supplémentaire entre les deux calendriers depuis 1582 .
[...]
La Grande-Bretagne et l'Empire britannique (y compris la partie orientale de ce qui est maintenant les États-Unis) ont adopté le calendrier grégorien en 1752, date à laquelle il a fallu le corriger de 11 jours. Le mercredi 2 septembre 1752 a été suivi du jeudi 14 septembre 1752.

Au moment où Unix est arrivé et a réinitialisé les horloges du monde pour commencer le 1er janvier 1970, il n'y avait rien à faire à propos de tout le désordre, sauf choisir une date pour afficher la réinitialisation. Étant donné que le monde a adopté le système de calendrier grégorien actuel à différents moments dans différents pays, le moment exact pour effectuer cette correction est quelque peu arbitraire.

Si jamais vous avez une raison de compter les dates remontant aussi loin dans votre logiciel, vous rencontrerez des problèmes beaucoup plus importants que la seule réinitialisation! L'histoire du calendrier est pleine de surprises!

Caleb
la source
3
Très bonne réponse! Pour rendre les choses encore plus complexes, certaines sociétés monastiques grecques utilisent encore aujourd'hui le calendrier julien.
terdon
1
"le moment exact pour effectuer cette correction est quelque peu arbitraire" - C'est trop simplifié. Une version plus précise serait «il faudrait au moins l'emplacement de l'utilisateur pour reconnaître la ou les dates auxquelles la correction a eu lieu». (Le Suédois, pour sa part, avait un plan ambitieux pour étaler la réforme du calendrier sur 40 ans: en.wikipedia.org/wiki/Swedish_calendar )
Piskvor
4

Voici un bon article sur les calendriers (PDF) qui explique comment le lent décalage de Pâques tout au long de l'année a rendu cette correction de date nécessaire et décrit également quand différents pays ont effectué le changement.

À la page 904:

Il [le pape Greogory] a également corrigé l'erreur accumulée de 10 jours dans le calendrier en proclamant que le jeudi 4 octobre 1582 CE, la dernière date à l'ancienne (calendrier julien), serait suivie du vendredi 15 octobre 1582 CE, le premier jour du nouveau calendrier (grégorien). Les pays catholiques ont suivi cette règle, mais les pays protestants ont résisté: l'Espagne, le Portugal et l'Italie l'ont adoptée immédiatement, tout comme les États catholiques d'Allemagne. Les parties protestantes de l'Allemagne ont attendu jusqu'en 1700 pour l'adopter. La Grande-Bretagne et ses colonies (y compris les États-Unis ) ont attendu jusqu'en 1752 , la Russie a tenu bon après la révolution de 1918 et la Bulgarie jusqu'en 1920.

Le document continue de faire référence à une longue liste de dates d'adoption qui a été compilée par les astronomes et explique de manière simple comment convertir entre différents systèmes de calendrier.

whoplisp
la source