アプリケーション + データ = コンピュータ
タブレットの話を続ける。本稿は2013年2月に公開した記事を、現状にあわせて加筆・修正を行ったものである。
前回は、タブレットとPCの違いとして拡張性や自由度を指摘した。しかし、ノートPCなど、ハードウェア拡張性のないPCもあるし、そもそも多くのPCはプログラム開発に使用されない。
パソコン、というよりマイコンが出始めた頃は、「BASIC言語でビジネス用アプリケーションを作ろう」という風潮もあったが、実際にはそうならなかった。Excelマクロはプログラム言語を名乗るには十分な資格があるので、ある意味では実現したと言えるが、作っている本人は「アプリケーション」とは思っていないだろう。だからタブレットとPCの違いとして「拡張性」を持ってくるのはあまり意味がないと考える人も多いに違いない。
タブレットとPCには、もう1つ大きな違いがある。それがドキュメントの扱いで、こちらの方が本質的ではないかと私は考えている。
■プログラミングのパラダイム
ものの見方や考え方の枠組みを「パラダイム」と呼ぶ。コンピュータが発明され、プログラムの概念が登場したとき、プログラミングパラダイムはアルゴリズムだった。
その後、「データ構造」の概念が登場し、アルゴリズムとデータ構造は同じくらい重要だという考え方が登場した。これが「構造化プログラミング」である。「アルゴリズム + データ構造 = プログラム」は、構造化プログラミングで最も有名な教科書のタイトルでもある。
しかし、実際のアプリケーションではデータ構造の方が重要なことが多い。そこで、アルゴリズムよりもデータ構造を重視し、手続き(アルゴリズム)はデータに従属するという発想が生まれた。これが「オブジェクト指向プログラミング」である。そして、従来のアルゴリズム主体のプログラミングの考え方を「手続き指向」と呼ぶようになった。 オブジェクト指向プログラミングは、アルゴリズムからデータへのパラダイムシフトである。
ちなみに、「アルゴリズム+データ構造=プログラム」は「アルゴリズムとデータ構造」として改訂されたが、残念ながら日本語版はいずれも絶版である。復刊ドットコムで復刊リクエストが行なわれているが、あまり票は伸びていないのが残念である。コンピュータ系の書籍としては古典に分類され、現在の状況とそぐわない部分もあるのは確かであるが、本質的な価値は変わらない。
■コンピュータのパラダイム
アルゴリズム + データ構造 = プログラム
にならって
アプリケーション + ドキュメント = コンピュータ
という言葉を考えてみた。
初期のPCには、1つのデータを複数のプログラムで使い回すという発想はなかった。アプリケーションが変わればドキュメントの形式も変わるため、コンピュータの中心はアプリケーションが中心だった。「手続き型」の時代である。たとえば、1983年発売の日本語ワープロ「松」のデータは、松からしか利用できなかった。いってみれば「手続き指向」の時代である。アプリケーションが中心なので「アプリケーション指向」と呼んでもよいだろう。 松は、当時としては高機能で軽快に動作したため、ベストセラーとなったが、N88 BASIC上に構築されていたこともあって、ファイル管理や流用が難しかった。
日本語ワープロの状況が変わったのは1985年に「一太郎」が登場してからである。一太郎の文書ファイルは、拡張子JXW、ATR、CTLの3つがセットになっていて、JXWのファイルはほぼMS-DOSの標準テキストファイルとして扱うことができた。 当初は「松」よりも安価だというだけで売れていたが、MS-DOSの標準ファイルを使っているため、ファイル管理をMS-DOSに任せることができた。
MS-DOSをプラットフォームにし、ドキュメント交換を配慮したことは画期的である。しかし、依然としてアプリケーションとドキュメントは一体であり、JXWファイルも完全なテキストファイルではなかった。アプリケーションとデータをセットで考える「構造化」と呼んでもいいかもしれない。
1984年、Macintoshの登場はコンピュータに大きなパラダイムシフトをもたらした(源流はXEROX社パロアルト研究所の成果)。アプリケーションとドキュメントが密接に結びついていることには変わりないが、中心となるのはアプリケーションではなく、ドキュメントである。新しいドキュメントを作るには、まず空のドキュメントを作成し、ダブルクリックして編集する。「まず文書ありき」という概念は画期的だった。「ドキュメント指向」あるいは「オブジェクト指向」の時代である。
WindowsもMacintosh流のドキュメント指向(オブジェクト指向)を目指したが、「プログラムマネージャ」や「スタートメニュー」など、アプリケーション指向のユーザーインターフェースも残したため、中途半端な印象を与えることになってしまった。ただし、起動したいアプリケーションが決まっている場合や、新規に文書を作成する場合は、この方が分かりやすいので、一方的に批判するのは正しくない。
Macintoshや、Windowsのデスクトップアプリケーションは、現在でも基本的にはドキュメントが中心であり、「ドキュメント指向」と呼ぶ。オブジェクト指向的だと考えてよい。
たとえば私はこの連載を書くとき、1回の記事に対して1つのフォルダを作成し、そこにWordファイルとPPTファイル、そしてJPEGまたはPNGファイルを保存する。ドキュメントが中心ではあるが、アプリケーションとドキュメントが密接に結びついているため、苦肉の策として複数のドキュメントを同じフォルダに収めるのである。
■タブレットのパラダイム
このように文書中心のPCに対して、タブレットはアプリケーション中心で構成される。たとえばタブレットにはフォルダ階層が見当たらない。内部的には存在するようだが、アプリケーションから利用可能な階層は限定的である。ドキュメントを選んでからアプリケーションを指定することはできないか、少なくとも一般的ではない。
ドキュメントの形式もドキュメントの保存先もアプリケーションから決めるということは、つまり「手続き指向」ということであり、一種の先祖返りである。
さらに大きな変化は、あるドキュメントを他のアプリケーションから利用するには許可が必要だということだ。タブレットは、複数の人間で共有することを考えていないため、一般的なセキュリティ機能を持たない。しかし、その代わり、アプリケーション毎にセキュリティを構成し、どのアプリケーションがどのような情報やドキュメントを使用できるかどうかを指定する。たとえば、ソーシャルアプリケーションのLINEは住所録へのアクセスを要求するし、カメラ機能を代替するアプリケーション「CAMERA+」は標準カメラアプリケーションの保存領域へのアクセスを要求する。各要求には利用者の責任で許可する。PC上に保存したファイルは、ユーザーやグループに対するアクセス許可さえあれば、どのアプリケーションからでも自由に扱える。むしろアプリケーションの制約の方が難しいくらいだ(通常の設定では不可能)。
タブレットでは、すべてはアプリケーションが主体であり、アプリケーションが定義したとおりにドキュメントを利用する。つまり、タブレットの利用モデルは「ドキュメント指向」から「アプリケーション指向」に戻ったのである。
Macintoshで、あれほどドキュメント指向にこだわったアップルが、あっさりアプリケーション指向を採用したのは少し意外だった。これから、PCもアプリケーション単位でのアクセス制御機能が登場するのだろうか。