The planet zone ― 星間飛行時代への備え ―

 ネットがエイプリルフールに浮かれている4/1に行われる発表はどうも真偽を疑ってしまっていけない。ましてやエイプリルフールにはジョークRFCがリリースされるのが常。そんなRFCにこれほど興味深いものがまぎれていたとしても誰が即座に信じるだろうか。

 米国の日付が変わる頃、日本では昼休みが明けたころ合いだったわけだが、とあるRFCが発行された。"The planet zone"と題されたこのRFCに心躍らせずにはいられなかった。

 プログラマならタイムゾーン(time zone)という用語は知っていることだろう。非プログラマであっても地球が丸くて世界には時差があることぐらいは当然知っていることだと思う。ネットにおいては「今何時?」というのに答えるのがなかなか難しい。世界標準時とかはあるけども、現地時間なんてのは場所がわからないことには特定のしようがない。

 そんなタイムゾーンだが、火星探査機においてはそもそもタイムゾーンなんて概念ではどうにもならない困った問題が起きた。地球上のどの位置でもない、火星上の探査機は地球上の概念であるタイムゾーンなんてものはこれっぽっちも役に立たないのだ。NASAの火星の探査機の運用において、チームのメンバーは火星時間に合わせた生活を強いられた。火星日(sol)は地上のどんなカレンダーシステムとも折り合わないし、火星時間は地上のどんなタイムゾーンとも折り合わない。

 つまり、カレンダーのシステム(これはプログラマなら痛感しているだろうが日付を扱うというのは想像以上に苦労する)に新たな難問がふっかけられたことを意味する。

 とにかく、タイムゾーンやカレンダーとかいう概念に、地球以外の場所なんてものはまったく考慮されておらず、その切り替えを可能とするためにはシステムにより抽象的な「プラネット・ゾーン」という概念を持つ必要がある。その標準化についての提言が今回提出されたということなのだ。

 基準となる絶対時間は地球上における1970年1月1日からのミリ秒であることは従来通りだが、カレンダーおよびタイムゾーンについては「プラネット・ゾーン」の設定が可能であるべきとの見解が示されている。地球上のカレンダーは1年が12ヵ月、1ヶ月が28〜31日であるが、日付処理ではそうした前提に基づいたプログラムをしてはならない。

 公転周期が非常に短い惑星もあれば、公転周期が非常に長い惑星もある。惑星によって暦の構成を自由に作れる程度の柔軟性を求めている。たとえば地球は月と言う比率にして非常に大きな衛星を伴っているため、歴史的に月の公転周期を基準とした暦が用いられてきた。惑星そのものの公転周期を、こうした何がしかの基準によって「月」に分割することを許しているし、それが地球の1ヶ月に近い日数である保証はまったくしない。

 プラネット・ゾーンの決定で定まるのは、こうした暦と、1日の長さである。1日の長さについては「およそその惑星の自転周期と同じであることが望ましいが、公転と同期して自転しているような惑星の場合に日と年の区別がないことも想定され、その惑星上での生活において都合が良いように定めても良い」としている。ホットジュピターのような例もあるのでこのあたりはやむなしだろう。

 国際化プログラミングさえもそのノウハウが広く普及しているとは言えない現状ではあるが、すでに星間飛行時代の標準化が進められている。プログラマには今後こうした知識やノウハウまでもが求められるようになっていくのだろう。

 …そんな妄想をしてみた。Enjoy april fool !!