アプリケーションについて

アプリケーションについて

//口上//
「われわれは、『ファイル主義』の概念をもってはじめて、『人はコンピュータによって何を成し得るか』というあの問に対して、単純にして明確な答えを手に入れることができたのである。すなわち、『(人はコンピュータによって)ファイルをつくることができる/ファイルを作ることしかできない』、更に言うならば『(人はコンピュータによって)様々な目的のためにファイルをつくることができる/ファイルを作ることによってしか様々な目的を実現できない』」
「すると『ファイル主義』の上に立つ限り、次のようにすら考えることができる。----ファイルを作ることのできない/できなかったコンピュータは、(人がそれによって)何事もなしえない/えなかったコンピュータである」
「これはもちろん本当ではない。しかし、今コンピュータを使用する際に、一切のファイルの作成・操作を禁じられたなら、人は本当にコンピュータで何事もなしえなくなってしまうだろう」

//アプリケーションとは何か?//
 古い諺に「コンピュータ、ソフトなければただの箱」というのがある。もはや口にするものもないが、しかし忘れ去られた訳でも、現状にそぐわなくなったわけでもない。今ではコンピュータが「ただの箱」であることを知らぬものがいないから、あえて口に出さないだけである。証拠に、その箱をそのまま持って帰っても「何もできない」ことを知る人々は(本人が知らなくても、今ではそのあたりにいる誰かが「親切」にそのことを教えてくれる)、ちゃんとコンピュータ(パソコン)と共に「ソフト」も買っていく。たとえば「一太郎」や「マックライト」や「フォトショップ」は、みな人がコンピュータによって「何かができる」ようにする「ソフト」である(いきなり「Afterdark」だけを買う人だっていないではないが)。最初に買い求められるそれらの「ソフト」の多くは、「アプリケーション」と呼ばれる(ことがある)。
 現在では、コンピュータユーザーとは、まずもってアプリケーションユーザーである。(開発者でないという意味で「純粋」な)ユーザーの誕生は、まさに「アプリケーション」の登場を待たねばならなかった。

 たとえば「実行ファイル」という言葉がある。アプリケーションをその中に含む(多くの場合、同じものをさす)その言葉は、しかし勿論「開発者」のものであり、またオペレーションシステムにとっての位置づけを示すものに過ぎない。開発者はそれを、コンパイラ・リンカを通じて作成し、それを〈独立したプログラム〉として動作するように完成させる(もっともそれが動作する環境が前提とされていることは言うまでもない)。やはりオペレーションシステムの上でなされるその作成過程は、たとえば次のように図式化される。

        コンパイラ他
ソースファイル→      →実行ファイル(独立したプログラム)

ここでは、「開発者」にとっての「アプリケーション」について深入りする必要はないだろう。その観点から見るならば、それは依然として「作成されたファイル」の一つに過ぎないからである。また(商品としてのそれを含む)「ソフトウェア流通」において主に流通するのが、〈独立したプログラム〉として提供されるところの「アプリケーション」である点については(「何故人は「ソフトウェア」を買うのか」といったことも含めて)、別の機会に取り上げることにし、ここではアプリケーションの別の側面を取り上げたいと思う。

 コンピュータユーザーとは、まずもってアプリケーションユーザーである。たとえばかなりの人が、あるアプリケーションを使うために、コンピュータを使用するのである。そのようなある一つのアプリケーションの使用者(ユーザー)にとって「アプリケーション」とは、ある仕事を目的に集められた機能(タスク)の束(集合といってもいい)である。通常、アプリケーションは複数の機能(タスク)をもつ。ユーザーは、自分が使用しているアプリケーションから、その段階段階で必要な機能(タスク)を選択し呼び出すことで自分の仕事を進める。

//ファイルとアプリケーション//
 「ファイル主義」に従うかぎり、アプリケーションは、ファイルに関して二重の要請をもつ。つまり、アプリケーションはファイルを扱わなくてはならないし、同時にアプリケーションはファイルを(ある程度であっても)、隠蔽しなくてはならないのである。
 何故、アプリケーションはファイルを扱えなくてはならないのか?この問には、冒頭の問の答えがそのまま応答する。「コンピュータユーザーとは、まずもってアプリケーションユーザーである」ならば、「人はコンピュータによって何を成し得るか」という問もまた、人はアプリケーションによって何を成し得るか」と書き換えられるであろう。すなわちその答えとは、『(人はアプリケーションによって)ファイルをつくることができる/ファイルを作ることしかできない』、更に言うならば『(人はアプリケーションによって)様々な目的のためにファイルをつくることができる/ファイルを作ることによってしか様々な目的を実現できない』からである。
 では何故、アプリケーションはファイルを(ある程度であっても)、隠蔽しなくてはならないのか?ここでいうファイルの隠蔽とは、ファイルそれ自体の隠蔽であるより、むしろファイル操作の隠蔽である。たとえばマックのどのアプリケーションでも実現されている(べき)Undoについて、同じことを「ファイル操作」で行うならばどれほど煩雑な作業が必要か考えてみるならば、どれほどの「ファイル操作」がユーザーの側から隠され、ユーザーの(「ファイル操作」に費やす)負担がどれほど軽減されているか(アプリケーションが肩代わりしてくれているか)がわかる。しかしこのようなものは、マックでようやく実現されたものにすぎず、アプリケーションに必須のものではない。
 ここで取り上げるのは、もっと簡単な例:アプリケーションは、それに付随するファイルとともに、一つの系をつくる、ということである。
 多くのオペレーションシステムにおいて、「テキストファイル」は標準的なファイル形式であるが、「標準的」であるとはいかなることか?それはタスクに先行してファイル形式が決定しているということである。多くの単機能(一つのタスクしかもたない)フィルタ類は、みなこの〈標準的なファイル形式〉についてのフィルタであり、それらのどの単機能も〈標準的なファイル形式〉についての機能(タスク)である。
 ひきかえ多くの機能(タスク)の集合であるところのアプリケーションは、そのアプリケーションに固有のファイルを生成・操作する。つまりここでは、アプリケーション(諸タスク)がファイル形式に先行しているのである。
 フィルタについては、「単一の(標準的な)ファイルに対するさまざな独立したタスク」が存在したが、逆にひとつのアプリケーションについて、それが生成・操作するさまざまな(しかしそのアプリケーションに固有のファイル)が、アプリケーション本体とともに一つの系を形成する。このことはアプリケーションにとって、複数の機能(タスク)をひとつの〈独立したプログラム〉としたアプリケーションにとって、必然である。つまり一つのアプリケーションを構成する諸タスク間のインタラクションは、ファイルを介することは通常ない。(たとえ諸タスク間のインタラクションに二次記録装置が機能しているとしても、ファイルとしては)少なくともユーザー側からは見えないようになっている。複数の機能(タスク)をひとつの〈独立したプログラム〉とする意味は、「アプリケーション内のデータの受け渡し」をファイル(とその操作)として顕在化させないことに他ならない。その限りでの「ファイルの隠蔽」は、アプリケーションがアプリケーションであるための必須条件である。
 ここに「ファイル操作のひとつとしてアプリケーション(タスク)を使うこと」と「アプリケーション(タスク)の使用を通してファイル操作を行うこと」の区別が生じる。前者においてアプリケーションと呼ばれているものは、もはやたかだかフィルタであるところの「実行ファイル」に過ぎない。後者において、その「ファイル操作」のいくらかは隠されるであろうその点において、はじめてアプリケーションと呼びうるもの(「実行ファイル」)となる。そしてこの区別が、逆にアプリケーションとは何か?という問の答えとなるだろう。

 たとえばシステムレベルで「ファイル操作」をなるべく見せないようにすること、当然複数のアプリケーション間でそうすることであるが、このことはシステム全体のアプリケーション化を進める。かつての偉大なるアプリケーションマシンMacintoshは、そのどのレベルに位置したのだろうか。
inserted by FC2 system