« S言語ファミリーとUNIX | トップページ | 医者は病院にかからないのか?-医師国保組合の不思議 »

SDIとMDI タブブラウザやIDEは時代の流れに逆行しているのか?

SDIとMDI

むかし、GUIアプリケーションはSDIとMDIのどちらがいいかという論争があった。

MDIってのは、ひとつの親ウィンドウがあって、親ウィンドウの中に、子ウィンドウが入っている形式のもの。SDIってのは、その親ウィンドウにあたるものがないもの。よくわからなければ、こちら
とか、こちら
をみてほしい。

本来、複数のアプリケーションを同時に使わなくてはいけない局面では、ユーザーがアクセスしているドキュメント単位で操作するSDIが自然。MDIのように、自分が利用しているアプリケーションの区別を不必要に意識させるのは、操作や表示が複雑になるだけで、あまり好ましくない。

ユーザーが操作している本質的なオブジェクトは、結局、アクセスしているドキュメントそのものだから。アプリケーションは、そのオブジェクトの操作方法、メソッドの集合でしかない。

それでもアプリケーションの違いを強調するようなMDIが昔は便利だった。その理由は、

1、昔、メモリが効果であった時代、メモリを節約するためには、多数のアプリケーションを同時に立ち上げることを控えなくてはならなかった。そのため、自分の立ち上げているアプリケーションを意識させるインターフェースはメモリ節約のためにも有用であった。

2、OLE(もしくはActiveX)が不完全で、異なるアプリケーションの間で、カットアンドペーストなどで、データのやり取りをすることが、今ほど簡単ではなかった。そのため、ユーザーは、データを作成したのが、いったい、どのアプリケーションなのかを意識しておく必要があった。

3、各アプリケーションのインターフェースがいまほど、統一性がなかった。

といったところだと思う。理由のほとんどは、すでに、過去のもの。

現在、MS-ExcelなどMS製品も、MDIを避けて、SDIに移行してきている。

ただ、ものには例外がある。

時代に逆行して、むしろ、SDIからMDIに変化してきたのは、たとえば、ウェブブラウザ、開発環境、ファイラといったところ。

ブラウザについて

近年のブラウザは、いわゆるタブブラウザという方式が主流になっている。これは一種のMDI。これは、SDIに対するほかのアプリケーションの流れに逆行している。

ブラウザの場合、どうして、MDIのほうが、便利だと感じるのだろう?

ブラウザは、ひとつの理由はブラウザがemacsのように万能のアプリケーションに変化したことだと思う。最近は、何をするときでも、ウェブブラウザさえあれば事足りるようになってきた。ほとんどの仕事が、1種類のアプリケーションでできるため、SDIでもMDIでも、ほとんど違いがないのだ。

こうなると、むしろ、ウィンドウの数を減らせるという、MDIのメリットが効いてくることになる。

開発環境について

MDIの開発環境、いわゆるIDEが普及したのはなぜだろう?

IDEのMDIは、ただ単にウィンドウが複数あるだけではない。ファイラ的な動作をするプロジェクトマネージャやクラスブラウザがついてくる。このプロジェクトマネージャが扱うプロジェクトというのは、コンパイルや配布の単位でもある。

たぶん、Javaなどのようなmake動作が必要な言語でIDEが優勢で、perlやrubyのようなインタプリタ言語では、それほどでもないのは、そこに理由がある。

反対に、SDIのメリットは、複数の種類のアプリケーションで、複数の種類のファイル、たとえば、画像とテキストとかを同時に扱うときに画面がシンプルで統一的になること。プログラマが扱うのは、テキストという単一の種類のファイルだけのことが多い。この点でも、MDIと相性がいい。

主流のMDIに対して、僕が、開発環境としてSDIのテキストエディタを使うのは、僕の開発案件に、次のような条件がそろっているからだと思う。

1、たいてい、コンパイルが不要なインタプリタ言語を使う。

2、手元に、クラスブラウザの代わりになる、扱いやすいファイラがある。

3、プログラムと同時に画面デザインもしなくてはいけない。画像ファイルなども、開発時に同時に扱う必要がある。

LLが主流になるにつれ、IDEでの開発にこだわらない人が増えてきた。今後は、開発もSDIの時代だ思う。

|

« S言語ファミリーとUNIX | トップページ | 医者は病院にかからないのか?-医師国保組合の不思議 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1238660/31018966

この記事へのトラックバック一覧です: SDIとMDI タブブラウザやIDEは時代の流れに逆行しているのか?:

« S言語ファミリーとUNIX | トップページ | 医者は病院にかからないのか?-医師国保組合の不思議 »