「cal」が壊れていますか? 1752年9月に何が起こりましたか?

「cal」が壊れていますか? 1752年9月に何が起こりましたか?

出力を見ると、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

次の話のタイトルは「1752年9月9日説明」1990年代初頭のニュースリストからコピーされ、次の場所に保存されました。コンピュータ視聴者のための興味深いコンテンツのコレクション著者:David G. Wiseman(ウェスタンオンタリオ大学コンピュータサイエンスとネットワーク管理者)

もともと一部の以前のバージョン7システムでは、"cal"コマンドを書いた人のコードには1つずつバグがありました。これは、 malloc 変数が 12 個の追加バイトを 0 で上書きすると、一部の無効な出力としてマークされ、上記の奇妙なカレンダー出力を引き起こします。

今、正気のある人は誰も1752年9月のカレンダーに興味を持っていません。アイデアUNIX 時間は 1970 年初めまで開始されないため、日付 1752 は UNIX には存在しません。したがって、「cal」にこのバグがあるという事実は、はるかに後でまで知られていません。当時、何千もの「cal」のコピーが浮かんでいましたが、そのほとんどはバイナリでした。すべての問題を解決するには遅すぎます。

そのため、1975年半ばに一部のAT&Tの上級管理者が教皇に会い、合意が行われました。カレンダーは、1752年9月をUNIXの現実と一致させるために遡及して変更されました。カレンダーは世紀によって変わるから戻る1752年9月14日から始まり、その後のすべての日付は影響を受けません。以前の日付は12日延期されました。また、バグを機能として記録するために「cal」のマニュアルページを修正しました。

9月3日から9月13日までの11日間は記録から全く消えた。歴史書を確認してみると幸い11日間大きなことが起こらなかった。

全体的に、これらすべての事件はまったく事件ではありませんでした。その後、ある空想科学作家がこの話を聞いて「天国の棚」という長編空想科学小説を書きました。私の考えでは、この小説は実際に起こったこととほとんど似ていません。

出力例外の実際の説明は何ですか?

ベストアンサー1

実際の物語を追跡するには、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.

その後、あなたの歴史が概略的である場合は、Wikipediaを使用して、作者が書いた内容に関する情報を取得し続けます。グレゴリアンカレンダーそして世界的に採用された歴史は次のとおりです。

グレゴリオ暦の改編は二つの部分で構成され、一つは教皇グレゴリオ時代に使われたユリウス暦の改編であり、もう一つは教会でイースターの日付を計算するために使用した旧暦周期とユリウス暦の再編である。
[...]
1年の平均長さが365.25日(365日、6時間)から365.2425日(365日、5時間、49分、12秒)に変更されたほか、10分短縮されます。 1年に48秒で、グレゴリオ力改革でも過去に蓄積されたこのような長さの違いを扱いました。
[...]
しかし、プロテスタント改革のために、多くの西ヨーロッパ諸国は、最初はグレゴリオ改革に従わずに既存の体制を維持していました。結局、一貫性のために他の国々もこれに従ったが、ユリウス暦の最後の支持者に東ヨーロッパ(ロシアとギリシャ)20世紀にグレゴリオ体系に変更した後、1582年以降、2カレンダーの追加累積差によりカレンダーから13日を削除しなければなりませんでした。
[...]
英国と大英帝国(現在、米国東部を含む)は、1752年に11日の修正が必要なグレゴリオ力を採択しました。 1752年9月2日水曜日、1752年9月14日木曜日が続きました。

Unixが登場し、1970年1月1日に開始するように世界時計をリセットしたときにリセットを表示する日付を選択する以外に、全体の混乱についてできることはほとんどありませんでした。世界中のさまざまな国で異なる時期に現在のグレゴリオシステムを採用しているため、この修正の正確な時期は多少ランダムです。

それまでさかのぼるソフトウェアで日付を計算する理由がある場合は、リセットよりも大きな問題が発生します!カレンダーの歴史は驚きでいっぱいです!

おすすめ記事