「Calendar」と「カレンダー」

これは、6月6日にポストされた文章の再ポストです。 

カレンダーの話の前に、非常に多くの方に International Pack 1.0 をダウンロードいただいたことに感謝いたします。ありがとうございました。予想を上回るダウンロード数に感激するとともに、いかに日本の開発者の方々が日本語の処理という点に興味がある=悩まされているのだということを痛感いたしました。今はまだ小さいものですが、皆様のご支援を背景に、より内容の充実じたものとなるよう努力してまいりますので、今後ともよろしくお願いいたします。

さて、唐突ですが、現在の Visual Studio には「カレンダーコントロール」が入っていません。

皆さんを驚かせてしまったかもしれませんが、2008からCalendar コントロールが削除されたというわけではなく、ちゃんと今まで通り、「Calendar コントロール」は入っていますので、ご安心を。

開発者の方々からの要望・フィードバックが極めて多く集中しているエリアというのがいくつかあるのですが、その一つが Calendar コントロールです。一番かもしれません。フィードバックを見ていると、現在 Visual Studio が提供している Calendar コントロールは必ずしも、開発者の皆さんが期待しているカレンダーコントロールではないのではないかという疑問が湧いてきます。

なぜでしょう?

いろいろな理由があると思いますが、一つの理由は「Calendar」と「カレンダー」の違いにあるのではないでしょうか?英英辞典で「Calendar」を調べると、真っ先に「一年を計算するためのロジック」というような説明があります。そう、「ロジック」なのです。一方、「カレンダー」を国語辞典で調べると、「一年、または一月を紙に表現したもの」というような説明が上の方にあることが多いようです。私は言語学者でないので、その方面の専門家の方からは反論があるかもしれませんが、少なくてもソフトウェアの世界においては、上記のような違いが大きく現われているような気がしてなりません。実際、日本で見かけるカレンダーは、単に日付を知るためのものというより、各日に書き込むためのスペースが設けてあるものが多いいように感じます。では、こういうものを英語で何と呼ぶのだろうと思い、今度は和英辞典を引くと、「Scheduler」となっています。この言葉の違いが、冒頭の発言、「calendar コントロール」はあるけど、「カレンダーコントロール」はないと言った理由です。
もちろん、「日本で『カレンダー』と呼んでいるものは、『Scheduler』だ。」なんて断言するつもりはありません。スケジューラーとしては、Microsoft Outlook があります。日本でも Outlook のようなスケジューラは必要ですし、カレンダーとはまた別のものだと認識されていると思います。
そういう意味では、Calendar でも Scheduler でもない中間的なものと表現した方が良いのかもしれません。もっとも、違いといってもまったく別物というのではなく、「カレンダー」でもスケジュールを書き込むスペースのないものも多いですし、「Calendar」でも「Scheduler」になっている場合も多いというように非常に幅のあるものだと思います。ところが、これをコントロールという形のあるものにすると、そのわずかな意識の違いが意外なほど明確な違いとなって現れてしまうのではないかと感じています。

実際のソフトウェアではどうでしょう。米国のホテルのサイトに行くと、日付の選択にカレンダーが使用されているものの、そこに情報が表示されるのではなく、日付を指定すると金額や空き情報が表示されるという作りになっているものの方が多いようです。一方、日本のホテルのサイトなどを見ると、皆様ご存じのように、宿泊料金別に色分けされているものや、部屋の空き情報を○×で表現したものが広く使われています。

ここまで、ことばの側面から見てきましたが、本来の順番としては、言葉が先というより、求めているものの違いが言葉の違いとなって現れると言った方が正確なのかもしれません。

ともかく、日本の開発者が期待しているようなカレンダーコントロールが Visual Studio に入っていないということは認めざるを得ないと思います。ホテルサイトの例だけみても、日ごとに色分けしたり、○×のような情報を付け加えられることが期待されているはずですが、
「Calendar コントロール」である、現行のMonthCalendar コントロールは、そのような機能は提供していません。

Outlook のような本格的なスケジューラとなれば、製品の機能として開発者が作りこむものという位置づけだと思いますが、単に色分けするために一からコントロールを作るのでは、あまりに開発者の負担が多いと思います。

日本の開発チームとして、この状況を放置しておくわけにはいきません。Calendar コントロールの機能強化なのか、Scheduler コントロールの提供なのか、形体はいろいろですが、日本の開発者のために、なんらかの手を打つ必要を強く感じています。ただ、やるからには、多くの方に使っていただけるものを提供したいと思います。しかし、どのような機能が求められているかを正確に把握するのは意外に難しいものです。インターネットアプリケーションなら、様々なサイトをブラウズすることである程度わかるのですが、それ以外のものは調べるにも限界があります。ましてや、業務アプリケーションとなると殆ど目にすることはないというのが現実です。
そこで、皆様にお願いがあります。MSDN フォーラムの International Pack 専用フォーラムでは、日本の開発者の方々からの「こんなものが欲しい」「こんな機能が欲しい」という声を募集しております。特にカレンダーに関しては、多くのフィードバックを期待しております。体裁にこだわる必要はありません。「日ごと色分けしたい―料金別」のような一言でも構いません。少しでも多くの方が日ごろ感じていることを声として書き込んでいただけるよう願っております。
そして、声をいただいたならば、その大切な声を無駄にせず、皆様の開発効率の向上という形で応えることこそが、我々日本の開発チームの使命であると思います。