「cal」は壊れていますか?1752年9月に何が起こったのですか?


28

出力を見ると、cal 9 1752次の奇妙な出力が表示されます。

   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

「と題し、次の物語9 1752について説明CALは、」「早期90年代のnewslistのオフコピーし、下にアーカイブされたコンピュータの聴衆のために面白いもののコレクションのDavid G.ワイズマン(大学コンピュータサイエンス学科のネットワークマネージャによって、西オンタリオ州)。

古いバージョン7マシンで「cal」コマンドを最初に書いた人は、コードに1つずれたエラーがありました。これは、mallocされた変数が12個の余分なバイトをゼロで上書きしたときに誤った出力として表示されたため、上記の奇妙なカレンダー出力につながりました。

現在、彼の正しい心にある人は誰も1752年9月のカレンダーを本当に気にしません。1752年という考えさえUNIXには存在しません。なぜなら、1970年初頭までUNIXの時間は始まっていなかったからです。ずっと後までこのエラーが発生していました。その時までに「cal」のコピーが何千もあり、それらの多くはバイナリのみでした。それらをすべて修正するには遅すぎました。

そのため、1975年半ばに、一部のハイレベルAT&T関係者が教皇と会談し、合意に至りました。カレンダーは、1752年9月をUNIXの現実に合わせて遡及的に変更されました。1752年9月14日から逆算してカレンダーが変更されたため、それ以降の日付は影響を受けません。それ以前の日付はすべて12日間移動されました。また、バグを機能として文書化するために「cal」のマニュアルページを修正しました。

9月3日から9月13日までの11日間は、単に記録から削除されました。彼らは歴史の本を検索し、幸いなことに、これらの11日間はそれほど重要なことは何も起きなかったことを発見しました。

全体として、この事件全体はほとんどイベントではありませんでした。あるSF作家は後にそれについて聞いて、「天国の旋盤」と呼ばれるSFのフルレングスの作品に吹き飛ばしました。

出力異常の本当の説明は何ですか?


14
/humor投稿したURLにディレクトリが表示されていませんか?;)
アレックス

1
そのリンクは私に大笑いをしました。
jw013

1
...再び出力の何が問題になっていますか?:p
d33tah 14

予言的なグレゴリオ暦はより合理的であると思われます。さもなければ、正確な暦を決定するために国、宗教などを知る必要があります。
jfs

1
1752年という考えでさえUNIXには存在しません... ...しかし、UNIXの考えは1752年に存在しましたか?
アロイスマーダル16

回答:


49

実際のストーリーをトレースするには、man cal自分で実行してみてください。

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.

次に、履歴がおおまかな場合は、ウィキペディアでグレゴリオ暦によって導入された変更に関する情報と、世界のさまざまな地域での採用の歴史について続けます。

グレゴリオ暦の改革には、グレゴリー教皇の時代まで使用されていたユリウス暦の改革と、イースターの日付を計算するためのユリウス暦と一緒に教会が使用する月周期の改革が含まれていました。
[...]
365.25日(365日6時間)から365.2425日(365日5時間49分12秒)への暦年の平均長の変更に加えて、1年あたり10分48秒の短縮、グレゴリオ暦の改革では、これらの長さの過去に蓄積された差異も処理されました。
[...]
しかし、プロテスタントの改革のために、多くの西ヨーロッパ諸国は最初はグレゴリオの改革に従わず、旧式のシステムを維持しました。最終的に他の国は一貫性を保つために改革に従いましたが、20世紀に東ヨーロッパのユリウス暦の最後の支持者(ロシアとギリシャ)がグレゴリオ暦に変わったとき、彼らは暦から13日を落としました。 、1582年以降の2つのカレンダー間の追加の累積差のため
[...]
英国と大英帝国(現在の米国の東部を含む)は、1752年にグレゴリオ暦を採用しました。この時までに11日修正する必要がありました。1752年9月2日水曜日に続いて、1752年9月14日木曜日が続きました。

Unixが登場し、1970年1月1日に世界時計をリセットするまでに、リセットを表示する日付を選択する以外に、混乱全体について何もすることはありませんでした。世界は現在、グレゴリオ暦システムをさまざまな国のさまざまな時期に採用しているため、この修正を行う正確な時間はいくぶんarbitrary意的です。

ソフトウェアでさかのぼる日付をカウントする理由がある場合、1回リセットするだけでなく、はるかに重要な問題が発生します。カレンダーの歴史には驚きがいっぱいです!


3
素晴らしい答えです!物事をさらに複雑にするために、特定のギリシャの修道院社会は今日でもユリウス暦を使用しています。
テルドン

1
「この修正を行う正確な時間はいくぶんarbitrary意的です」-それは単純化されすぎています。より正確なバージョンは、「修正が行われた日付を認識するために、少なくともユーザーの場所が必要です」です。(スウェーデン人は、例えば、40年にわたってカレンダーの改革を
塗りつぶす

4

ここでは、カレンダーに関する優れたペーパー(PDF)があります。これは、年間を通じてイースターがゆっくりとシフトしたことにより、この日付修正が必要になったことと、異なる国がいつ切り替えたかを説明しています。

904ページで:

彼[Pope Greogory]は、古いスタイル(ユリウス暦)の最終日である西暦1582年10月4日木曜日に、西暦1582年10月15日金曜日が続くことを宣言することで、カレンダーの累積10日間の誤差も修正しました。新しいスタイル(グレゴリオ暦)カレンダーの初日。カトリック諸国はこの規則に従いましたが、プロテスタント諸国は抵抗しました。スペイン、ポルトガル、イタリアはドイツのカトリック国家がそうであったように、直ちにそれを採用しました。ドイツのプロテスタントの部分は、1700年までそれを採用するのを待っていました。イギリスとその植民地(米国を含む)は1752年まで待ち、ロシアは1918年の革命後まで、ブルガリアは1920年まで持ちこたえました。

この論文は、天文学者によって編wasされた採用日に関する広範なリストを参照し続け、異なるカレンダーシステム間で変換する方法を簡単に説明しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.