どうもこじらです。
…日時の数え方って複雑すぎると思いませんか?
今回の記事は「時間の概念ってクソだな🤔」と思ったのでその話。
時間の概念の複雑さ
みなさん、普段当たり前に使っていて気にならないかと思いますが、時間の概念っていうのはものすごく複雑で奇怪なことになっています。
いやまじで。
まずは時間の複雑すぎる点を紹介します。
複雑すぎる点
- 1年が365日
- 1年が12カ月で日数がバラバラである点
- 1週間が7日
- 1日が24時間
- 1時間が60分
- 1分が60秒
- うるう年
- サマータイム
いやw時間の単位ほぼ全部ですやんってw
今の世の中は「10まで行ったら桁を繰り上げよう」という決まりである「10進数」が主流です。
10進数が主流の理由は、人間の指の本数が世界共通で10本だからですね。
分かりやすい。
しかし、時間の概念は60進法と24進法、曜日に至っては7進法という状態になっています。
昔の人の指は10本じゃなかったのでしょうか?w
複雑さがしょうがないもの
これだけ複雑な「時間の概念」ですが、中にはしょうがないと思えるものもあります。
それは
- 1年が365日
- うるう年
の2つです。
理由の前に、まずは「時間がなにものか?」を考えてみます。
時間ってなにもの?
「時間」というのはまだ科学的に説明ができていないよく分からないものです。
時間を4次元と捉えたり、11次元と捉えたりと、天才たちが頭をフル回転させても予測の域を出ることはなく、なんだかよく分かっていません。
しかし、現に「時計」というものが存在しており、なんだかよく分からない「時間」という概念を計ることができています。
つまり、観測することができているので、「時間」という概念が存在していることは分かっているんです。
存在は分かっても、原理が分からない。それが時間です。
昔の人「あれ?時間定量化できね?」
昔の人々は、「時間は観測できる」ということを感覚的に理解していました。
「歩いたら歩けるな…。しゃべったらしゃべれるな…。なんか太陽規則的に動いてね…!?」
って感じです。
当然のことなんですけど、ものすごい発見だと思います。
人間は時間が流れていることを感覚的に理解し、太陽を見ることによってそれを定量化できることを知ったのです。
ただ、時間の単位を考える場合、別に太陽を基準にする必要はないんですよね。
現に「週」という概念は太陽が関係ないですよね。
さっき、
- 1年が365日
- うるう年
はしょうがないと述べましたが、その理由はここにあります。
時間をゼロベースで定量化させようとした場合、基準になるものは太陽くらいしかないからです。
地球は太陽の周りを1周する間に約365.25回転します。
つまり、定量化しようとした(時間の概念をつくろうとした)時点で、1年が365日でうるう年が発生してくるのはしょうがないという訳です。
他の時間の単位はどうだろう?
他の単位、
- 週
- 時間
- 分
- 秒
- サマータイム
は太陽を基準としているかどうか。
うーん。全部太陽関係ないですねw
時間(hour)も1日を24分割する必要性はないですし。
サマータイムは関係ありそうに見えますが、そういうことじゃないですw
日の長さは時間の概念とは無関係です。
実際のところ、「分(minute)」や「秒(second)」、「サマータイム」なんかは比較的新しい概念で、天文学とは別の分野から生まれた概念と言われています。
そのため、時間の概念は一部を除いて改善の余地があるという訳ですね。
…という感じで、ここからは昔からある「時間」という概念を使いまわし、現代でも使用していることのヤバさをITにおける「システム」を例にして説明していきます。
古いシステムの運用は保守性に欠ける
システムエンジニアの方々は私より理解されているかと思いますが、古いシステムというのは色々と扱いづらい部分があります。
システムを長期間運用するとごちゃごちゃする
IT技術における「理想とされるシステムの姿」と「必要な概念」というのは時代とともにコロコロと変化します。
技術の進歩の部分は一旦度外視して、考え方に流行りがあるという話です。
そして、昔の記事で述べた内容にも通ずる話ですが、色々な人が色々な考えのもと作られたものは、大体ごちゃごちゃしていて、使われる期間が長くなればなるほど悪化していきます。
システムに対しての理解が浅い人がいたり、誤解している人がいたり、理解できていてもアウトプットが下手だったり、あとは時代が進むことによって「良くない考え方」になったりするなど、ごちゃごちゃする理由はいっぱいあります。
システムは最初の設計が重要
そして、「システムの根幹の部分はシステムを構築した最初に考えられ、それはシステムを一新しない限り覆すことができない」というのも重要なポイントです。
最初の設計が悪いと不具合が起きやすかったり、後から機能が追加しづらかったりという問題が発生します。
この辺は具体的な話になるので掘り下げません。
ボソッ(みずほ銀行という単語だけ出しておきます。)
システムの設計~運用において重要なこと
まぁ、何が言いたいかというと、
- 古いシステムは(基本的には)使い回すべきではない
- システムは最初の設計が大事
という訳です。
時間の概念に当てはめて考えてみる
このシステムにおける重要な点を「時間」という概念に当てはめて考えてみます。
まず、「時間の概念」の最初の設計がどうだったか。
これに関しては、「年を365分割する考え方」と「うるう年」がそれにあたると思います。
これは、上で話した通り、時間を考える基準が太陽くらいしかないので、良いか悪いかとは別の話で、良しとするしかないです。
その他の概念についてはどうでしょうか?
1年が12カ月なのは10進法が主流の現代からするとクソですね。
時間(hour)の24進法もかなりクソ。分と秒の60進数も同じ理由でクソ。
週の7進数に至っては意味が分からない。
サマータイム?〇ね!(発狂)
はい、ここでさっきの「システムにおいて重要なこと」の1つ目を復唱しまーす。
古いシステムは(基本的には)使い回すべきではない
古いシステムは(基本的には)使い回すべきではない!!
……。
「時計」という名のシステムにおける設計上の概念が「時間」です。
そのため、IT業界におけるシステムとも同じことが言えると思います。
IT業界でシステムに対して機能を追加する場合、合理性が求められ根拠が必要です。
その点、時間の概念の場合は、宗教というすごくファジーなものから機能追加がされたりしています。
そう、「時間」というものはなかなかやべぇ運用がされているひどいシステムなんです。
ぼくがかんがえたさいきょうのじかんのがいねん
批判するだけでは生産性はない。批判するときは代替案を提示するべき。
という私のポリシーのもと、時間という概念の代替案を提示します。
代替案
年
365日→365日
これは変化なし。うるう年の場合は366日で今と同じ運用です。
月
28~31日→36~37日
日数を36~37日にして、10カ月にします。
週
7日→10日
脳死で10日にします。本当は週なんていらないんじゃないかとも思いますが。
日
24時間→10時間
時
60分→100分
ここで言う100分は、今の単位だと144分です。
秒
60秒→100秒
ここで言う100秒は、今の単位だと144秒です。
サマータイム
もちろん廃止!〇ね!
以上です
と、プログラミング中に時間で悩んだので時間の代替案を提示してみました。
サマータイム〇ね!!
こじらでした
じゃ