先日 VSCode 拡張を作って Marketplace に公開したとき,Microsoft 公式のガイド読んでいた.
公開するためには Azure DevOps というサービスでアカウントを作って organization
を作る必要があるらしいので,結局のところそっちのガイドを読むことになった.
文字が多すぎてすべて読める気がしないので,重要そうな部分だけガイドをななめ読みしていたらこのセクションにぶちあたった:
ここに CONTOSO
という企業の例が図で出てくるのだけれど,久々にこの Microsoft ワード (ワープロソフトではない) をひさびさに見てなんだか嬉しい気分になった.
CONTOSO
Contoso についてはこの Wikipedia のページが詳しい:
有り体に言えば,Microsoft のリファレンスでよく例につかわれる架空の企業の名前ってだけなのだけれど,こんなに脈々と 2020 年の今も受け継がれてるのがすごくおもしろい.
自分が Contoso を目撃したのはいつだったか覚えてない.わりと昔だと思う.同様になにかのリファレンスを読んでいて触れた.それがずっと使われているところにシャレが利いているというか,良さがあるなと思った.
Microsoft
Microsoft の従業員でもないのに謎目線で Microsoft の面白いと思っている部分は,後方互換性を大事にしているところとか,歴史や資産を重要視しているところ.
といっても,それは The Old New Thing
という本の受け売りなところが大きい:
https://www.amazon.co.jp/dp/0321440307
著者は Microsoft の古参で,この本では「Windows のこれはなぜこうなっているのか」という理由が歴史的事情から解説されている.
ペーパーバックだと超分厚くてちょっとした辞典くらいあるので,なかなかボリュームがあって面白い本.
Windows のソフトウェアへの互換性の情熱はすごいみたいな話は結構いろんなところで語られている:
Excel
著名なのが Excel のエポックの事情である.
Excel には 1900 年システムと 1904 年システムがあって,紀元が異なる 2 つのシステムがある.この事情については公式の説明がある:
これと似たようなことが Joel on Software
の My First BillG Review
でも触れられている:
(※ 前までは日本語訳のページがあったのだけれど,今調べても見つからなかった.書籍版に日本語訳があるようだった: https://www.amazon.co.jp/dp/4798118923/)
さて,この話のおもしろポイントをまとめると,Excel は 1900/02/28
を 59
, 1900/03/01
を 61
として番号を振っていて,60
は 1900/02/29
のうるう年の日としている.ところが,実際は 1900 年はうるう年ではない.
これは当時主流のスプレッドシートの Lotus 1-2-3 がそういう仕様になっていてインポートできるようにしたため.そもそも Lotus 1-2-3 は当時のコンピュータの性能から計算を省略するために意図的にそうしたと推測されている.
一方 Visual Basic では 1899/12/31
がエポックになっていて,これに符号するように -1 日されている.
誤解を恐れずにいうと,Lotus 1-2-3
の仕様に Excel や Visual Basic が合わせようとしてた,という話だった.そして 1904 年システムは 1900 年を回避するためにエポックが 4 年ズレている.
これを現実を歪曲させた設計で負債と取るか,当時の要求に見事に答えた仕様と見るか.
あとは A1 参照形式
と R1C1 参照形式
の話もある:
これも Lotus 1-2-3 や Microsoft Multiplan の仕様の違いから選択可能になっているオプションで,似たような事情を抱えている.
伝統
Excel の例を伝統というかは置いておいて,伝統を踏襲しているデザインはおもしろい.ガワはモダンになっていってるけど,コアの部分とかでファンサービスを忘れていないようなものはいくつかある.
ドラクエは今でも魔法の SE はあの 8-bit な音だとか,ポケモンもモンスターボールの落ちる SE は初代ゲームボーイ版の音だったりするみたいなのがある.
マリオでも,ヨッシーに乗ると BGM にパーカッションが足されるのが,ヨッシー初登場の「スーパーマリオワールド」から続いているとか,2D マリオではジャンプのときの SE がマリオワールドと同じパンフルートの音とかがある.
ゲームはこういう体験の例が多い気がしている.
こういう
おもしろ歴史のバックグラウンドがあるから納得できるけど,仮に新しくつくるものに何の経緯も理由もなく採用したら意味不明のものとして評価されるかもしれない.
ところで,
Google Spreadsheet はどうなってるのかといえば,
気にされていないのだった.
我ながら Contoso でこれだけポエムが書けるのに驚いた.