unix 的なるもの


unix 的なるもの

Emacs も ed も unix のプログラムですが, 元祖 unix な感じってのは, ed の方です. emacs は, /bin に入ってるプログラムに比べると かなり異質な印象を受けるし, 実際, その先祖に当たるプログラムは unix で開発されたものではない (らしい. XEmacs の Info にそう 書いてあった).

unix ができたころは小さいプログラムをいろいろと組み合わせて いろんなことができるようになる, というのがナイスなところで, それは emacs みたいな発想とはちょっと違ってたわけです. 今じゃ Gtk とかあって, あらゆる色んなプログラムがあるんで, そんな違いは些細なものに思われるかも知れませんが, これは見掛けよりも重大な差異だとワシは思う.

unix 的なアプローチの最たるものといえば, 最近(?) では automake とかね. ああいう感じ. 色んな細かいプログラムが shell や make のインターフェースを通して 組み合わせてあり, それで大した仕事をやってのける. そういうのと比べると, 巨大な一個のプログラムである emacs とは, ちょっと異質な感じでしょう.

つまり, コンピュータに関する漠然とした「unix 的なもの」が 存在するように思えるかも知れないが, その実体は 非常に異なる複数の発想の寄せ集めであり, 単一の, 分割不可能な存在ではないのだ. (註)

それにも関わらず両者には, つまり, emacs と ed には, 共通する強力なコンセプトがあるのだ. それは, コンピュータを使うというのは, 結局のところ プログラムすることに他ならない という汎用プログラマブルコンピュータに関する洞察だ. この洞察は システムに存在する多くのプログラムの間で共有されている掟でもある. その実体はツギハギであるにも関わらず, もし, 「unix 的なるもの」が存在するとすれば, それはこのようなコンセプトに求めることができるはずだ.

今では, それこそいろんなプログラムが動作して 楽しめる Linux だが, 一見, 伝統的な unix 風のインターフェースを 持たない新しいプログラムにあっても, unix的なものは周到に尊重されている. 例えば, GUI 全開の画像ソフト "GIMP" は scheme による マクロプログラミング機能を備えており, その開発のためのインタプリタ インターフェースも用意してあるし(emacs 的なものへの尊重?), また, コマンドラインからの引数を指定すれば, インターフェース無しに様々な処理が可能だ (sed 的な使い方への配慮?).

ところで, 「Linux が普及する」という用語の意味するところは多様である. もし, Windows カーネルが Linux に置き換わり, あとのアプリケーションは 今みたいにアウトノレックやら何やらがプレインストールされて出荷されるように なったとしよう. 確かにそれでもフリーな OS が普及したことには変わりは無い. しかし, これに対して「何かが違う」という感じがするのは, ワシだけだろうか.

一体, 何が違うのか? おそらく, フリー OS の普及という命題は unix 的なるものの広がりも多少なりとも含意しているのである. つまり, 先に示した想像上の未来に対して 「Linuxが普及した」という用語を無制限に使うことは出来ない, と思うならば, おそらくあなたの考える「Linux の普及」は, コンピュータに関する 認識の革新を多少なりとも含意することになる. こういって良ければ, それは一つのイデオロギー闘争なのだ.

アンチ MS 小僧という存在も, そう考えるとなかなか深い意味が 無いだろうか? つまり, これは, 何かが正しいことを示そうと思っていたのに, いつしか 「ま」のつく会社が間違っており, ダメであることを示すことこそが 第一義的になってしまった, 視野狭窄的な立場なのだろう.

いずれにせよ, 「unix 的なもの」あるいは, こう言ってよければ 「フリーソフト魂」みたいなものが, 確かに存在しているのだ. それを無理に要約すれば, こんなふうになるだろうか. ネットワーク親和性の高い, プログラマブルなユーザインターフェースを提供する 自由なシステムこそが, 汎用コンピュータにとっては 最高の存在である. そして, "Office for Linux" に違和感を覚える人にとって, Linux の普及とは, 多かれ少なかれ上記イデオロギーの普及をも意味するのである.

またこれは, 「unix を使いこなす(註)」という 曖昧な用語の意味を規定する助けにもなる. tar のコマンドを間違えずに書けたり, カーネルのコンパイルの手順を 憶えていても, unix あるいは Linux を解ったことにはならない. 多分, unix を理解し, 使いこなすというのはすなわち, 上記イデオロギーを 真理として受け入れる, すなわち 次のような項目を実感として理解するということなのだろう.

おそらくは, 結局のところ, ゲイツ様のセコくてケチな了見を 上記フリーソフト魂が ブチのめしてこその「Linux の普及」なのである. なるほどこれなら「革命」の名に相応しいではないか. また, 単にインストールベースが増大するのではなく, こういう決着がついてこそ面白いし, やるに値する, と思っているのはワシだけだろうか? 人によって, こういう側面の占める割合には様々な違いがあるだろうけど.

DHU-II のディスプレイの不調

どうも液晶パネルと画像信号のフィルムケーブルのコネクタ部分の 接触不良みたいなんだが, どうにも治らない. パネルもケーブルも替えないとダメかね. ケーブルはともかく, パネルはたしか 10万円くらいするぞ. むー. こりゃ全然ダメじゃね. どうしょうもないね.

こりゃやっぱり部品どりで, ジャンクをどっかで都合してくるしか 無いのかな.

ん? アースの配線を変えたら治った? つうか, 俺の組み立てミス?(笑) まあ, それくらいでなおるとも思えんが.

TPX20 発売の 9/25 って 月曜か. ディスプレイがこのまま治らなかったら, ちょと待てないねえ.

それを買うとしたら, 新しいハードウェアを買うのは 2年ぶりになるのかな. 最初に AT 互換機を買ってから 4年だ.

そう. もう 4年になるのか. なんつうか, 最初に Linux をインストールしたときは衝撃だったっすよ. しょぼい中古のノートパソコンで X Window が動いたときは, まじでおどろきましたよ. しかも, その頃学校で使ってた X 端末よりもずっと速かったという.

フリーとか, 商用とか, そういう区別も知らない頃の事で, その意味する事態を正確に把握することは出来なかった. ただ, なんとなく新しい時代がやって来ており, バーチャファイターなんかやってる場合じゃないのだ, ということだけは, 判ったかも.

ちょうど Pentium 搭載ノートが出回り始めた頃で, 486DX/75 なんかの機種が中古で沢山手に入った時期だった. それまで 8086/10MHz をメモリ 640KBytes (MBytes じゃないよ!)で 使っていた私には, 夢のような CPU と ハードディスク容量よりもデカい半導体メモリ で unix が X 込みで動いており, しかもそれが ノートパソコンで持ち運び可能 であり, さらにそんなハードウェアが 10万円ちょっとで手に入る! てところがなんとも衝撃だったのである.

身の回りにノートに Linux をインストールしたことのある人が居らず, 最初はわりと苦労しましたが.


(註) 現代の unix ライクなシステムに存在する, 問題解決へのアプローチは ed と emacs で数え尽くされるものではない. たとえば, perl はまた異なった発想の所産だし, X もまた独自の変てこな発想の産物だ. ひょっとすると、 聖なる宗教戦争の数だけ、これら異なる発想が存在するのかもしれない.

(註) 実はこれで「使いこなす」の意味が明らかになったとは思っていない. この用語には「勉強カースト」との深い関わりがあり, その文脈のなかで理解されねばならないはずだ. ある思想を体現するようになることによって 「使いこなす」の十分条件が形成されたりすることはないだろう。 しかし, 技術的な側面からこの曖昧な概念を見るならば, あるシステムの真髄を掴むことは確実に, 使いこなしの必要条件を形成しているはずだ. そして, unix の真髄の一つは間違い無くここにある. なぜなら, B. Kernighan がそう言ってるから.(笑


過去の落書きリスト