パスワードを忘れた? アカウント作成
737625 journal

kubotaの日記: ファイルの種類と拡張子

日記 by kubota

Mac OS にも拡張子が導入されたらしいが、拡張子って、導入するようなものなんだろうか。

(詳しくは、かなり古い文書ですが、データ (ファイル) の形式っていったい何なの? を参照してください。)

ぼくは、拡張子は、たんなる習慣に過ぎないものだと思っています。コンピュータ上のデータは本来、どれもみな、有限長 (ときには無限長のものもあるかな) のバイトシーケンスにすぎない。ファイルに「種類」がある、というのは、ファイルそのものに客観的な属性として「種類」があるのではなく、ファイルをどう解釈するかという、極めて主観的なものなんです。

そこにこそ、コンピュータの難しさもあり、またコンピュータならではの柔軟性もあるのだと思っています。コンピュータ上では、ある種類のファイルを、どんなアプリを使って処理することもできます。ところがこの柔軟性は、現実世界にはないものであり、初心者を惑わせる原因ともなることから、マッキントッシュでは「ファイルの種類」という属性を記憶するためのそれ専用のフィールドを導入したものと思われます。そのために現実世界に対するアナロジーという点では優れたものとなりましたが、コンピュータの持つ (現実世界にはない) 可能性は封じられることとなったのです。

UNIX の世界では名実共に「拡張子は単なる名前の一部で、それをファイルの種類を表現するものとみなすのは単なる習慣」と言えます。その習慣を利用することで使いやすくしたアプリケーションなども存在しますが。DOS も、ファイルシステム上の制限と、あと、COM、EXE、BAT だけは特別扱いするという例外を除き、だいたい「拡張子は名前の一部に過ぎない」という伝統が守られています。それを OS レベルで大規模に破ったのは Windows からで、拡張子とアプリケーションの関連付けによって、あたかもそのファイル自身がアプリケーションを指定したかのように見せかけるようになりました。

さらに、Windows95 になると、デフォルトでは拡張子を表示しないようになってしまいました。ファイルの「種類」はアイコンまたは「ファイルの種類」欄の表示によって知る、ということになります。ユーザーから見ると、ファイルの種類、という属性をファイルが持っている、というふうに見えます。つまり、マッキントッシュが行った、コンピュータとしての柔軟性や可能性を捨てて現実世界とのアナロジーを高める、という路線を Windows も推進しているのです。

どっちが優れているという問題ではないけど、ぼくが使いたいのはコンピュータならではの柔軟性であって、初心者が使いやすいための現実世界とのアナロジーは二の次だ。

で、最初の疑問、「拡張子って、導入するようなものなのか」ですけど、「拡張子がほしければ、ファイル名を構成する文字としてピリオドが許されてさえいれば、あとは勝手につければいいんじゃないの?」という意味。拡張子は、ファイル名の一部に過ぎないんだから。

typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...