ホストOS非依存にこだわる訳

TechoのPropella(山宮)さんがコメント(id:Florian:20040828#c)でこんな話をしてくださいました。

  1. Squeakはimageが巨大になると起動に時間的コストがかかる
  2. 将来、別のimageがリリースされた際、古いimage内のデータを移行する方法がない(?)
  3. 1.2.より、imageをデータストレージとして使うのは現状で問題がある

問題を単純化するため、ちょっと内容がきつく見えるかも知れませんが、別に紛争を起こそうという意図はありません(^^;)。


1.、2.ともに非常に納得できる話題です。
そもそも、 Florian はちょっとした細工をするために書斎ではimageだけをネットワークドライブに置き、そこを802.11g(54Mbps)の無線LAN経由でアクセスしているので、それはそれは起動・終了が遅いです。
また、imageのなかから特定の情報をエクスポートして別のimageに完全に移植する方法が見つかっていないのも確かです。
ですが、今回はそれでもimageを唯一のデータストレージとして見なし、可能な限りOS非依存にしたいと思っています。
いかに、今回のその思想の裏側をお話します。


Florian はマイナーOSマニアです。いや、実際にはマニアというとちょっと語弊があるのですが、常にアンテナを広げて「今よりより良くコンピューティングできる環境はないか」「今自分の中にあるコンピューティングの枠組みを破壊するようないいアイディアはないか」と興味の範疇を広げて回るよう心掛けています。
そして、マイナーOSマニアの人達には2種類の方向性が有ります。

  • いろんなOS上で、「いつもの環境」を構築したがる人
  • それぞれのOSの上での機能に合わせて使い方を変える

前者と後者では、圧倒的に後者の方がコストがかかります。なにせ、OSに出会うたびに使用者である自分の中の枠組みを作り替えなくちゃならないのですから。
でも、なるべくならば、 Florian は後者の方針でOSという物を見て行きたいな、と思っています。
ほとんどの場合、コンピュータの環境(ハード、ソフト込みで)は合目的的(Goal oriented)に作られていますから、実装から「なぜそうなっているのか」をくみ取るだけでも、想定している使用状況と設計者の設計思想が見えてきます。
そして、ほとんどの場合、想定している使用状況は「そう使うときっと便利に違いない」という設計者の確信が込められているでしょうから、きっとそこには Florian の知らない何かすてきな世界がある(事もある(^^;))だろうと思えるのです。


今回、Squeakを触って、Squeak関係の文書を読んで、しみじみ感じたのが、ホストOSをかなり「邪魔」に思っているような印象でした。できればホストOSなんかない方がいい。可能なら専用Squeakマシンの方がなおいい、と。
確かに、マルチプラットフォーム(OS)なアプリケーションの場合、あちこちのOSに移植していくうちにそれぞれのOSの特質みたいな物は使えなくなってくる傾向にあります。まして、SqueakはOSごとの特質を生かすというよりは、「どんな環境でもおなじimageで、同じルック&フィールで動く」という事自体を売りにしているようですので、なおさらその傾向は強いでしょう。
そのかわり、Squeakはその中だけでさまざまな作業が完結するような仕組みをいろいろと備えています。
これらの事から考えて見ても、制作者自身がもし「Squeakを実用として使う」と言う場合、「ホストOSを気にせず使う」事が既に内包されているんじゃないかなーって気がしているのです。


と、いうわけで、今回はimageだけで、ついでにSqueak内部の機能を優先して使っているのでした。
結論だけまとめると以下となります。

  • Squeak内の思想(と、 Florian が推理した物)を優先する
  • 現在の実装上の不具合や制限よりも、目指している位置を尊重する

あ、もちろん Florian の推理が正しいと言うつもりは全然ありませんので、明らかに間違っている事言ってたらさくさく指摘してください。よろしくお願いします>Squeak使いの方々