スキップしてメイン コンテンツに移動

スクリプトとシステムとデザイン - UNIXという考え方

UNIXという考え方―その設計思想と哲学『UNIXという考え方~その設計思想と哲学』を読んだ。

奥付を見ると、初版が発行されたのは平成13年。西暦に直すと2001年。もう14年も前だ。でも、この本の内容は今でも通用する。書かれているのが、TIPSなどではなく、設計思想だから。設計に迷った時、従うべき原則は長期間そんなに変わらない。

その内容は、9つの定理としてまとめられている。
  1. スモール・イズ・ビューティフル
  2. 一つのプログラムには一つのことをうまくやらせる
  3. できるだけ早く試作を作成する
  4. 効率より移植性
  5. 数値データはASCIIフラットファイルに保存する
  6. ソフトウェアの梃子を有効に活用する
  7. シェルスクリプトを使うことで梃子の効果と移植性を高める
  8. 過度の対話的インタフェースを避ける
  9. すべてのプログラムをフィルタにする
2, 6, 7, 8, 9は互いに補い合っている。最近、『継続的デリバリー』を読んでデプロイメントパイプラインを部分的に実装しようしていて、それを実感している。

デプロイメントパイプラインでは多くのタスクを取り扱うから、一つのプログラムで幾つかのことをやらせようとすると、あっと言う間にスパゲッティが出来上がる。でも、各タスクは既に実装されているから、それらをシェルスクリプトなどのグルー言語から活用すれば、梃子を効かせられる。そのシェルスクリプトなどを作る際は、対話的インタフェースを避けてフィルタに徹しないと、パイプラインを止めてしまう。

もっと早くこの本を読んでいればもっとうまく作れたのに!!(と思う一方で、作る前に読んだとしたら、字面を追っただけで終わっていたんじゃないか、とも思う)

もう一つ面白かったのは、「3. できるだけ早く試作を作成する」に続けて紹介されていた「人間による三つのシステム」の話。追い詰められた人間が第一のシステムを創り、「専門家」が、第一のシステムで証明されたアイデアを用いて第二のシステムを作り、第二のシステムで「火傷」した人が作るらしい。この第三のシステムが、もっともバランスがよく目標となる。

優れたインタフェースをデザインするには少なくとも3回の挑戦が必要という話を思いだす(『誰のためのデザイン?』か『未来のモノのデザイン』で読んだんだと思う)。それから、『イノベーションのジレンマ』ともおおむね整合しているように見える。あと、先日読んだ『スプライトシュピーゲルIV』の次の一節を思い出した。この本でも第三のシステムを作るには、第一・第二のシステムを作る他にないと言っている。
悪法の中には、通過儀礼のように必ず経験せざるをえないものがある
他の定理も今でも示唆に富んでいて、150ページ足らずの薄さだけれど、汲み取れる知恵が多い。しばらくしたらまた読もう。

このブログの人気の投稿

神のいぬ間の選択 - マギ(37)[完]

『マギ(37)』を読んだ。これにて完結。 この巻だけに関して言えば悪くなかった。最終章に入ってからここに至るまでが、自分にはついていけなくて悪い意味で超展開だったのだけれど。 完結巻ということで、どんな話だったっけかざっと振り返ってみた。 1~2巻 アラジン、アリババ、モルジアナが出合って、迷宮 (ダンジョン) 攻略。アリババがジン・アモンに選ばれる。そのあとバラバラに。 3~8巻 3人が合流してバルバッド編。アル・サーメンの存在が明るみに出る。合流するまでにアラジンと煌帝国の白瑛が出合う (3巻)。紅玉、ジュダルの登場もこの時期。 9~12巻 一行はシンドリアへ。そこでアラジンがマギとして、アリババに力を貸す宣言をする (9巻)。白龍登場。アラジン、アリババ、モルジアナといっしょにザガンの迷宮へ。迷宮攻略後、再びアル・サーメンと対峙。撃退後、アラジンはマグノシュタットを、モルジアナは故郷を目指す。アリババは悩み中。白龍も帰国。紅覇、紅名、紅炎の顔見せ (12巻)。 13~15巻 シンドバッドが紅玉との模擬戦でゼパルの能力を使う(13巻)。アリババはレームへ行くことへ。一緒に出発するも、解散する前に海賊に襲われる。ここで白龍の目的が母・玉艶の殺害と判明。レームのアリババ、ユナンの元を訪れたモルジアナ、煌帝国に帰国した白龍のエピソードを挟み、マグノシュタット編開始。 16~20巻 マグノシュタット編。端折ると、世界統一を目指す煌帝国が攻めてきたが、マグノシュタットの反撃手段が、アル・サーメンに仕組まれていたためイル・イラーを降臨させかねない事態に。両国が協力、アラジンも駆けつけ、シンドバッドも介入。一緒にモルジアナとも再会。最終的に、アラジンがソロモンの知恵を使い、イル・イラー降臨の依り代となっていたマグノシュタット学長たちのルフを還して、事態が収束する。 21~24巻 アリババがバルバッドの状況を見て煌帝国・紅炎に、紅玉にゼパルを仕込んでいることを知りシンドバッドに相容れないところがあると知る。そしてアルマトラン編突入。紅炎が協力の見返りに、アラジンからアルマトランの秘密を聞き出す形で始まる。結果的には、ダビデが意図的に息子ソロモンに負ける。ソロモンが世界の法則を変えた代わりに人間性を失う。ソロモンの妻であり、マギの一人でもあるシバが采配を奮う...

Memory Free - 楽園追放 2.0 楽園残響 -Goodspeed You-

『楽園追放 2.0 楽園残響 -Goodspeed You-』を読んだ。映画 『楽園追放 -Expelled from Paradise-』 の後日譚にあたる。 前日譚にあたる『楽園追放 mission.0』も読んでおいた方がいい。結末に言及されているので、こちらを先に読んでしまって後悔している。ちなみに、帯には「すべての外伝の総決算」という惹句が踊っているけれど、本作の他の外伝はこれだけ [1] 。 舞台は本編と同じでディーヴァと地球だけれど、遥か遠く外宇宙に飛び立ってしまったフロンティアセッターも〈複製体〉という形で登場する。フロンティアセッター好きなのでたまらない。もし、フロンティアセッターが登場していなかったら、本作を読まなかったんじゃないだろうか [2] 。 フロンティアセッターのだけでなくアンジェラの複製体も登場するのだけれど、物語を牽引するのはそのどちらでもない。3人の学生ユーリ、ライカ、ヒルヴァーだ。彼らの視点で描かれる、普通の (メモリ割り当てが限られている) ディーヴァ市民の不自由さは、本編をよく補完してくれている [3] 。また、この不自由さはアンジェラの上昇志向にもつながっていて、キャラクタの掘り下げにも一役買っていると思う。アンジェラについては前日譚である『mission.0』の方が詳しいだろうけれど。 この3人の学生と、フロンティアセッターとの会話を読んでいると、フロンティアセッターがフロンティアセッターしていて思わず笑みがこぼれてしまう。そうして、エンディングに辿りついたとき、その笑みが顔全体に広がるのを抑えるのに難儀した。 おめでとう、フロンティアセッター。 最後に蛇足。関連ツイートを 『楽園残響 -Goodspeed You-』読書中の自分のツイート - Togetterまとめ にまとめた。 [1] 『楽園追放 rewired サイバーパンクSF傑作選』は『楽園追放』と直接の関係はない。映画の脚本担当・虚淵玄さんが影響を受けたSF作品を集めた短編集。 [2] フロンティアセッターは登場しないと思って『mission.0』を読んでいない。 [3] 本編では、保安局高官の理不尽さを通して不自由さこそ描かれてはいたものの、日常的な不自由は描かれていなかったように思う。アンジェラも凍結される前は豊富なメ...

私は今、感想を書き終えた - あなたは今、この文章を読んでいる。

『あなたは今、この文章を読んでいる。:パラフィクションの誕生』を読んだ。この本はSFマガジンに16回に渡り連載された「パラフィクション論序説」が単行本化されたもの。 二部構成となっており、第1部「メタフィクションを越えて?」では「過去三十年ほどの時代的な変化と干渉し合い浸透し合うにつれて、どうもあまり望ましいとは言い難い「作者/読者」としての心性が醸造されてきたのではないかと思われる」問題が扱われる。第2部「パラフィクションに向かって」では、その「望ましからざる「心性」」を乗り越えようとしている「メタフィクション」から「パラフィクション」という概念の抽出が試みられる。 プロローグにはそんなことが書かれているのだけれど、その問題が具体的には何なのかも、「パラフィクション」がどんなものでその問題をどう解決するのかも、いまいちクリアにならなかった。 ざっくり整理してみよう。 まず発展の歴史。最初は「虚構」から「現実」に引き戻す「批判的メタフィクション」だった。次に「現実」に「虚構」を持ち込む「関与的メタファクション」へ派生した。さらに「虚構」化した「現実」を再度「虚構」として提示する「受容的メタフィクション」へと変遷した。これがこの本の歴史観。 次にこの変化を通して醸造されてきた(作者にとって)望ましくない「作者/読者」としての心性。作者にとっては、「メタは「作者性」への反省、批判、解体を企図しているかに見えて、その実、やればやるほど「作者」の機能と専制を確認することになっしまう」ことを問題視している[1]。読者にとっては、「虚構」化された「現実」の受容が、現状への批判意識の抑圧につながりかねないことを問題視しているようだ。 それで、「パラフィクション」は「軸足を、思い切って「作者」から「読者」へと引き渡す」ことのようだ。ただし、読みの多様性などにフォーカスして、「読者」の名の下に「作者性」を奪取するという話ではないとのこと。作者のいう「パラフィクション」的な作品として円城塔の『Self-Reference ENGINE』が取り上げられる[2]。 まず思ったことは「これ問題か?」という疑問。そういう本しかなくなる=言論統制が図られたらと思うと背筋が凍るが、これはメタフィクション小説についての話だ。次の「パラフィクション」についてはよくわからない...