2015年10月19日

ディレクトリ区切り記号に「\」(バックスラッシュ or 円記号)を採用したやつは誰だ

以前、ファイル名にスペースを入れられるようにしたファイルシステム設計者は狂気だみたいなことをかいたわけですが、もう一つ、ディレクトリ区切り記号として、UNIX系の「/」に対抗して「\」(バックスラッシュ、あるいは円記号)を使うようにしたMicrosoft系(?)のファイルシステム設計者も、十分に狂気ですね。

C言語の特殊記号である「\」が使われたことにより、C言語で書かれたプログラム内でフルパス名を指定しようとすると、「\」の記号を二つ重ねなければならないとか、あるいはこれは日本人のみが困ることかも知れないけど、Shift-JISの2バイト文字の2バイト目に「\」が配置される場合の配慮をしなければならないとか、このせいで発生したプログラム不良による世の中の経済に与えている損失(不具合の発生によりビジネスが停滞することや、不具合調査や、不具合解決に費やしているコスト)って、けっこう大きいんじゃないかと思いますね。

OSやファイルシステムのような、様々なプログラムやサブシステムや仕組みの基本部分の設計って、とても重要になってくることを再認識できます。

まぁ、当時、「\」記号をディレクトリ区切りに採用しようとした、(おそらく)米国人ファイルシステム設計者に、Shift-JISのことを考慮せよというのは、とても難しいことかも知れないけど、C言語の「\」記号の特殊扱いについては、問題の発生が予測できたんじゃないかなぁ…というか予測して欲しかったなぁと思うところ。


posted by ayacy at 00:01 | Comment(0) | TrackBack(0) | プログラミング