ペンギンが恐竜を制圧するには?


こないだ, 最後の恐竜は泥沼にはまって絶滅するだろうという調子の良い文書を 紹介した. この文書のキモは, 2つある.
  1. 今後も Linux ユーザが指数関数的に増大し続けること.
  2. 本当に Linux が Windows のあとを引き継ぐにふさわしい製品になること.
実際に Linux を使っている人には明白だろうが, Linux の方が Windows よ りも使いやすい, と感じる人は, そう多くない. この点に関して, 恐竜文書はあまりにも楽観的過ぎる. Linux にかぎらず Unix は, 一般的にユーザインターフェースの問題を抱えてい る. unix のユーザインターフェースは, 軽く, 速く, 信頼性も高い. しかしそれは, ユーザの熟練という犠牲を払って得られた速度であり, 信頼性なのだ. 長年 unix を使っている人なら経験があるはずだ, 正規表現をソラで書ける人間は, 時として, 一般人と OS の間のユーザインター フェースを務めるはめになる.

マイクロソフトによれば, Windows を使うのに必要な知識と技術は, マウスの 使い方だけだ. これが嘘なのは, Windows を使ってみれば, すぐに思い知らさ れるところだが, だからといって, Linux が使いやすいということにはならな い. タッチおじさんに「これからは, Linux だ よ. Windows なんかやめときなよ」と勧めることは, 俺にはできないな. タッチおじさんに, 「 root の時は, vi だよ. mule なんか使ってちゃ駄目だ!」 とか, 「あー, 駄目駄目! 環境変数 DISPLAY は大文字だよ!」とか, 「faq とマニュアル(synopsis のところに膨大なオプションが "[" と"]" の間 に挟まって書いてある. しかも英語. )を見ろ!」とか, とても言えないよ.

別に, Windows が普及したのは, 「ま」のつく会社が邪悪だったからだけでは ない. msdos なんかよりは, Windows の方がよっぽどマシだから, 普及したの だ. 「恐竜」には Unix が他の WS の OS をreplace していった様子が描かれている. これが起こり得たのは, Unix の使い勝手が優れていたからでもある. Unix が打ちま かしたのは, どれも CUI だ. それに, 競争相手のファイルシステムの実装は, Unix のようなエレガントなも のではなかった. Unix には圧倒的な技術的優位があった. OSが高級言語で書か れていたのも, その一つだ. つまり, Unix は人(といっても, バリバリの理系 の専門家共だが)に優しく, 判りやすかった. 設計のコンセプトは明快だった. それは, 「プログラミングするための OS」というものだ. そのための, 非常に効果的な仕組みが幾つも実装されていた. これは, ライバルの OS が備えていない先見性に満ちた特徴だった.

ファイルやプリンタの共有を設定するのに, printcap から起動されるシェルス クリプトに, "\" の数を慎重に勘定しながら smbclient の書式を書くよりは, 「セレクタ」とか「ネットワークのプロパティ」(本物は, 半角カナだけど, それをネットワークで使うわけにはゆかぬ. 許せ. )とかを開く方を, 俺なら選ぶね. つうか, 今, 印刷は vnc で Windows を操作してやってるし.

計算機の性能を引き出すには, 計算機の仕組みを知る必要がある. これは, いつも正しい. しかし, それは誰にとっても正しいかな?

実際, いまのところ Unix 系のシステムがその本領を発揮するのは, どっちかというと特殊な用途に限られている. IP にしたところで, client 専門なら, まだまだ Windows の方が使いやすい事 も多い. 「ああ, Linux で良かった」と俺が思うのは, ネットワークサービスを提供す る側にまわるとか, むちゃくちゃな高負荷で連続して使うとか, ちょっとしょうもないけど必要なプログラムを書くとか, ようするに, マイクロソフトが考えてなかったような使い方をする時だ. あるいは, コンピュータをコンピュータとして使う時, といってもいい. プロトコルスタックとかを理解している人には, Linux もいい. しかし, インターネットというのは navigator とか IE の事だと思っている人 には, はたしてどうかな?そして, そういう人こそが, 今や PC のユーザの大半 を占めているのだ.

/etc/passwd や rc.hoge や inetd.conf を vi で編集したりしなくていい Unix というのも, やや考えにくいし, ちょっとイヤではあるよな. でも, ここのところを何とかしない限り, 家庭に Linux が入り込む事は考えら れないな. 俺達の母ちゃんが named.conf 書いて nslookup でチェックしたり, telnet コマンドでポートを指定したりするようになると思うか? core を gdb で見たりするようになると, 本気で思うか? 右手人差指一本でキーボードを使うオヤジが, Netscape よりも wget の方が使 いやすいと思うようになるだろうか? OS のバージョンを見るのに, cat /proc/version したりすると思う? Linux ユーザであるあなたでも, 経験したことのない操作がこのパラグラフに書 いてあったりするかもしれないのに.

だから, イイ気になるのは, まだ早い.

しかし, 俺は悲観していない. 問題があれば, それを克服すればいいのだ. 「無ければ作れ」これがハッカーの道だ. Linux の普及にとって, ユーザインターフェースが障害になる, ということに気 づいた人間が俺だけ, というわけがないのである. ただ, 俺はこうも思う. OS の存在意義は, ハードウェアを抽象化してプログラミングを やりやすくするということろにある. つまり, プログラミングをしない人間にとっては, OS の存在意義なんか, 無いのだ. そもそも, 汎用計算機と Operating System という作り方のものを必要としてい る人が, どれくらいいるんだ? 大概の人は, 家庭ゲーム機方式で十分だし, 俺もできればそういう楽勝なマシン が一個欲しいよ.

pc のマーケットは, 確かにLinuxが制圧するかもしれない. しかし, pc のマー ケットが今の規模を保ち続けて欲しいとは, 必ずしも俺は思わない.