拡張子とオブジェクト指向の話
そのファイルが実行可能なのか、あるいはファイル自体は実行不可能だが、アプリケーションとの関連があるかということは、OSによって全く違うポリシーで管理されている。たとえば Unix の場合は特殊なファイル形式(/etc/magicに記述)に埋め込むか、あるいは実行属性をつけるかのどちらかだった。MS-Windowsの場合は拡張子が .com, .exe, .bat などになっているなら直接実行可能ということになっていた。
そういえば昔、BASIC や DOS のようなコマンドをタイピングで入力する方式のコンピュータを利用していたときは、こんなコマンドを使っていた。
COPY ABC.* DOC1985\
まずコマンド名で始まり、空白文字があり、引数が続く。数学の関数でも f(x,y) のように書くのと一緒だ。
最近は、このようなタイピングコマンドはあまり見かけなくなってきた。その代わりに「アイコンクリック」でアプリケーションを起動するのが普通になってきた。
「アイコンクリック」と言っても、実は2種類ある。
- プロパティに具体的なアプリケーション名が関連付けられたアイコンをクリックするとアプリケーションが自動的に開く。
- アプリケーションのアイコンをクリックして、そこで編集対象のファイルを開く、あるいはドラッグ&ドロップする。
前者の関連付けについて述べよう。Mac OS 9 以前は Mac binary 形式のヘッダにregistryとして埋め込まれていた。Windowsと Mac OS X の場合はファイルの拡張子でアプリケーションの関連付けをする。またもや拡張子だ。
一方、後者の方法はタイピングコマンドでアプリケーションを起動する方法と、
考え方としては大きく変わらない。
さて、ここで式の記法について考えてみよう。例えば足し算を、前置記法(prefix notation)の「+ 4 5」とするか、中置記法「4 + 5」とするか、後置記法「4 5 +」とするかを考えよう。ちなみに日本語では「4に5を加える」とするのが普通だから、これは後置記法と言える。
ここまで見て御理解頂けると思うが、古くから使われてきた「タイピングコマンド」の方法は、「アプリケーションのアイコンをクリックして、編集対象のファイルを開く」と同じ順番であり、手続き的とも言える。一方、関連付けられたアイコンをクリックするとアプリケーションが開くのは後置記法的であり、日本語に馴染むとも言える。これではまだオブジェクト的とは言えないが、それでも結構いい線を行っていると思う。
あぁ、なんだかよくわからなくなってきたけど、こういうことをちゃんと教える教材ってないのかなぁ。
なんか、最初は拡張子の話を書いてセキュリティの話にしようと思ったのに、話が脇道にそれた。ま、いいか。
| 固定リンク
この記事へのコメントは終了しました。
コメント
操作と概念をちゃんと切り分ける,ということも,やったことがない人には難しいことだと思います。
投稿: 中西わたやん | 2005年10月20日 (木) 20:57
コマンドプロンプトでもファイル名を(あるいは「start ファイル名」と)打ち込めば適当なアプリで開きますね。Macならopen ファイル名。
投稿: okumura | 2005年10月24日 (月) 13:47
まぁ、そうなんですが、そういう教え方はあまりしないですよね…。
ちなみに東京大学駒場では、dvipdfmx と open を使う方法を教えています。
投稿: たつみ | 2005年10月24日 (月) 19:35