2010-03-14

ものすごく面白い文章

My First BillG Review - Joel on Software

Joel Spolskyは、さすがに名前は知っていたが、相当の文才があると、改めて認識した。これは非常に面白い読み物だ。実際、文章もすばらしい。

なお、この話を理解するためには、以下のリンクも参考にした方が良い。

Fabulous Adventures In Coding : Eric's Complete Guide To VT_DATE
Fabulous Adventures In Coding : Bug Psychology

VT_DATEが、いかにくそみそなフォーマットだったかを説明している。VT_DATEは、30 December 1899からの経過時間で表現される。なぜ30日なのか? 31日ではダメなのか。1900年の一月一日ではだめなのか? 30日である理由は、Lotus 1-2-3のバグに対処するためである。

さらに、フォーマットも、悲惨すぎる。型はdoubleなのだが、整数部分は、起点からの経過日数を示す。ところが、小数部分は、整数による表現から、一日を少数で表現しただけ、経過したということを表すのだ。これはつまり、負数であっても、小数部分によって、時間が前に動くのだ。悲惨すぎる。

きっかけは、old new thingから。

The Old New Thing : Why does the OLE variant date format use 30 December 1899 as its zero point?

追記:Joel Spolskyは、ブログ執筆を引退して、本業に専念するらしい。なんというタイムリーな。

3 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. すみません,上の私のコメントは削除していただけると助かります.アンカーで書き直します.

    件の記事は「はじめてのBillGレビューのこと」として翻訳され,『Joel on Software』にも収録されていますね.
    ご参考までに.

    ReplyDelete
  3. この人がライターとして生きていけるのも、納得です。これだけの文才があるのだから。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.