[osask 7180] Re: ウインドサイズの変更

  こんにちは、川合です。


FORM-Akkie さんは 2005/02/23 22:46:12 の「[osask 7179] Re: ウイ
ンドサイズの変更」で書きました:

>> 表示位置をアプリが知らないということはとても重要なのです。
>> まあ簡単に言うと、
>  省略
>
>河合さん、説明、ありがとうございました。
>了解しました。
>すごく常識的な(他のOSと同じ)理由なんですね!
>でも森川は、この常識をあえて犯すことで新しいパラダイムが開ける
>そんな気がしています。
>あくまで直感ですけど(笑)。

  このやり取りは意味がよく分からないという意見があったので、僕な
りに補足します。

  まず、森川さんは他のOSでは表示位置が得られないと思われているよ
うですが、それは違います。

Windows  : http://win32lab.com/tips/tips1.html
X-Window : http://www.sm.rim.or.jp/~shishido/scripts/progbbs/bbs.cgi?no=20

  したがって、OSASKでウィンドウの座標が取れないというのは、ちっ
とも常識的なことではありません。むしろOSASKのほうが非常識といえ
るでしょう。そしてもし、ウィンドウの座標がとれることがパラダイム
上の重要なことであるなら、これらのOSではそのパラダイム上の進展が
あっても良さそうなものですが、それはいったいどんなことなのでしょ
うか?

---

  OSASK以外のほとんどのOSは、「アプリケーションの意思」というも
のをとても重要視します。たとえばアプリケーションがあるファイルを
削除しようとしたら、それは問答無用で消えます。ユーザーが削除しよ
うとしたときには、消してもいいですかと聞いてくるくらいなのに、ア
プリケーションからの削除要求には黙って即座に従うわけです。

  これはアプリケーションはプログラマの代理人である、という思想に
基づくもので、つまりプログラマの意思は絶対である、という発想によ
るものです。OSがプログラマのための道具箱のようなものであって、ト
ンカチやのこぎりやねじ回しが人間に逆らうことが無いのと同様に、OS
はアプリケーションのあらゆる要求にこたえるべきである、というわけ
です。

  この思想は、ユーザのほとんどがプログラマで、しかも実行させるプ
ログラムの多くが自作だった頃には、特に問題もなく、うまくいきまし
た。・・・しかし今は違います。ユーザのほとんどは非プログラマであ
って、実行させるアプリケーションは、ほとんどが買ってきたりダウン
ロードしたりしたものです。そしてユーザの意思を無視して各種の悪さ
をする、コンピュータウイルスが流行しています。

  今、世間のウイルス対策は、「怪しいものが入ってこないようにする
」という方向で進められています。OSASKではそういう考えには沿わず
に、アプリケーションにはシステムや他のアプリケーションに関する情
報を与えず、しかも制御もさせない、という方向でOSを作り直すという
方針をとっています。

  この方針は当初、満足な機能を持つアプリケーションが作成不能にな
るのではないかという懸念がありましたが、今ではその懸念はかなり解
消されています。

  たとえば、アプリがウィンドウ位置と画面サイズを知れば、

    http://win32lab.com/tips/tips1.html

に示されたような、

  ・プログラム初回起動時にはデスクトップの中央へウインドウを表示する。
  ・初回以外は前回位置に表示し、もしこれでウィンドウがはみ出すようなら
      はみ出さない位置へ自動で移動。

という便利な機能をもつアプリケーションが作れます。しかしOSASKで
はこれらの機能が無いので、こういう機能は実現できないと思われるか
もしれません。ところが、できるのです。

  これらの機能をアプリケーションではなく、OSが持ったらどうでしょ
うか?つまり、どんなプログラムでもプログラム初回起動時は中央にウ
ィンドウが出て、初回でなければ、しかるべき位置に表示、というもの
です。どんなプログラムでも、というのは少々不便かもしれないので、
アプリケーションのファイル属性に、ウィンドウ位置自動補正ビットと
いうものをつけて、これがONの場合だけ、この動作をする、ということ
でもいいです。

  このOSASKの方法はWindowsの方法とは大きな違いがあります。それは
何かというと、特定のアプリケーションだけではなく、どんなアプリケ
ーションにも簡単にこの機能を持たせられるということです。Windows
の方法でこれをやろうとしたら、かならずプログラムに手を加える必要
がありますが、OSASKの方法なら、ファイルのプロパティでちょこちょ
こといじるだけでいいわけです。他人が作った、ソースが公開されてい
ないアプリケーションであっても、この便利な機能を持つように「改造
」できるわけです。また、この機能が最初からついているアプリケーシ
ョンがあったとしても、この機能がうっとうしいと思えば、外すことも
できるわけです。

  こうして、OSASKのアプリケーションはウィンドウの位置を取得する
とかなんとかの面倒な処理を記述することなくこの機能を利用でき、結
果的にアプリケーションサイズが小さくなり、またウィンドウ位置の取
得やウィンドウ位置指定のためのAPIも無いのでOSは単純化され、しか
もセキュリティ的にも望ましい、という結果になるわけです。

  これを先の話にたとえれば、自分の持ち物以外でもトンカチで叩けて
しまったのが犯罪の原因になったので、自分の持ち物以外は叩けないよ
うにしたということです(叩こうとしたらトンカチが自爆するとか)。
このせいで、友達の大工仕事を手伝うことはできなくなるかもしれない
と心配したけど、それは友達のトンカチを借りれば済んだので問題なか
った、むしろ自分のトンカチを持っていない人でも手伝えるようになっ
てよかった、みたいな感じです。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! osask.jp
Homepage http://osask.jp/

ML番号でジャンプ
ML単語検索