この冬から春にかけてわが家はたびたび風邪に襲われている。103来週金曜日に開催される「第103回ヒューマンインタフェース研究発表会」のプレゼンテーション資料を書きはじめる。昨年松江で開かれたソフトウェアシンポジウム2002のキーノートを聞いた中小路先生が呼んでくださったのだ。タイトルは「インタフェースとしての言語のデザイン:Ruby」というもの。プログラミング言語はユーザインタフェースであるという(私にとってはいつもの)話をすることになる。ユーザインタフェースという観点から見た言語デザインが一般のインタフェースのデザインに役に立つように還元できるといいなあ、と思っているのだが、はたして。プレゼンテーション資料は公開する予定。[YAML]XMLとYAMLYAMLの方が1024倍良いという主張をより明確にしたい。前にも述べたがあらゆる局面でYAMLがXMLより優れていると主張するつもりはない。YAMLは基本的には構造データ表現フォーマットである。文章のマークアップの領域でXMLと競うのは無意味だ。Magazineで使った用語を使えば「メタ・データフォーマット」として、という意味だ。そのような前提のもとに、なぜYAMLが優れているか。データ量XMLを採用するとデータが膨らむのは多くの人が経験している通りだ。その理由はテキスト形式を採用していることもあるが、なによりもあのタグ形式が原因だ。XMLってなんであんなに冗長なんだろう。その点、YAMLは記号とインデントで表現がコンパクトである。可読性YAMLの表現がコンパクトであると言うことは、すなわち読みやすさにつながる。YAMLで読みにくい構造データは、当然XMLでも読みにくい。逆は必ずしも成立しない。柔軟性XMLとYAMLを比較すると、XMLの方が圧倒的に柔軟性が高い。「構造データも表現できる柔軟性がある」というだけで、構造データ表現専用というわけではない。構造データ表現のためのフォーマットと考えるべきだ。YAMLは「XML+スキーマ」と同等の位置づけになるだろう。柔軟性がある方とない方を比べたら、ある方が良いように感じられるかもしれない。なんでもできるツールが使いやすいツールとは限らない。目的に適合したツールの方が優れたツールである可能性のほうが高いだろう。過度の柔軟性は人間に優しくないことを覚えておくべきだ。使いやすく、現実に即したAPIXMLを解析するAPIとしてはDOMやSAXがある。構造データ表現のためには整形式では情報が足りない。XMLを読み込んで取り出したノードからプログラム側で適切に型変換してやる必要がある。XMLスキーマには型情報が含まれる(らしい)が、お手軽にXMLスキーマを使えるAPIってあったっけ。YAMLはロードとセーブのふたつのAPIでとりあえず利用できます。YAMLデータは型情報を含んでいますから、型変換を気にする必要はありません。「XMLは現代のS式」と呼ばれることがある。どのような構造データもとりあえず表現できるという点ではその通りだろう。一般人に広く知られてしまったという点でS式より罪は深い。『図解で分かるS式とLisp』なんて本は今までもこれからも出版されないだろうし。「YAMLが良い」という主張にもうひとつ暗黙の前提があるのに気がついた。それは「人間が読み書きする可能性がある」という点だ。人間の目に触れないならYAMLである必然はないものね。オープンソースアクティビズム念のため、前の家のポストをチェックしてみると郵便が入っている。転居届は引っ越し前に出したはずなのになぜか。安田幸弘さんの「オープンソースアクティビズム」ではすでに自己責任の話が取り上げられていた。世間に遅れてるかってことだな。それだけ遅れてても熱いツッコミを引きつけるのだから、ホットな話題であったわけだ。6月号が出たということは7月号の原稿を書かねばならないわけだなあ。にちようび今日は母の日である。昨日のうちにこっそり買っておいた花を妻に贈る。妻はカーネーションは好きでないと言うことなので、ピンクのバラの鉢植え。この方が長持ちするだろう。花は喰えないのにな、どうしてあんなに喜ぶんだろう。そりゃ、きれいだけどさ。松江出席はありがたい。今日は元々松江の日だったな。風邪を引いているので、わりとおとなしくしている。集会終了後も早めに帰る。夕方、浜松の母から電話。いえば妻が双方の母親に花を贈ったって言ってたっけ。風邪でぼーっとしてわすれていた。気がつくことでありがたい。浜松にもいろいろあるらしい。後、半年、がんばってくらはい。くたびれたスーツしか持ってない。汚れたり傷んだりしてるのだ。時間が取れず、とうとう出発日になってしまった。なんだか泥縄で恥ずかしい気がする。