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

スクリプトとシステムとデザイン - 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ページ足らずの薄さだけれど、汲み取れる知恵が多い。しばらくしたらまた読もう。

このブログの人気の投稿

北へ - ゴールデンカムイ 16

『ゴールデンカムイ 15』、『〃 16』を読んだ。16巻を読み始めてから、15巻を買ったものの読んでいなかったことに気がつく。Kindle版の予約注文ではままあること。 15巻は「スチェンカ・ナ・スチェンク」、「バーニャ(ロシア式蒸し風呂)」と男臭いことこのうえなし。軽くWebで調べてみたところ、スチェンカ・ナ・スチェンク (Стенка на стенку) はロシアの祭事マースレニツァで行われる行事のようだ[1]。それなりになじみ深いものらしく、この行事をタイトルに据えたフォークメタルStenka Na StenkuのMVが見つかった。 16巻では杉元一行は巡業中のサーカスに参加することになる。杉元と鯉登の維持の張り合いが、見ていて微笑ましい。鯉登は目的を見失っているようだが、杉元もスチェンカで我を失っていたので、どっこいどっこいか。なお、サーカス/大道芸を通じた日露のつながりは、実際にもこのような形だったようだ[2]。 個々のエピソードから視線を上げて、全体の構図を眺めてみると、各勢力がすっかり入り乱れている。アシㇼパは尾形、キロランケ、白石とともにアチャの足跡を辿り、そのあとを鶴見のもとで家永の治療を受けた杉元が鯉登、月島を追っている。今更だけれど、杉元やアシㇼパは、第七師団と完全に利害が衝突していると考えていないはずだった。一方で、土方一味も入墨人皮を継続。むしろ彼らの方が第七師団との対立が深刻だろう。さらに北上するキロランケはまた別の目的で動いているようだけれど、なんで尾形も一緒なんだっけ? 『進撃の巨人』に引き続き、これもそろそろ読み返す時期か。 [1] 5つの暴力的な伝統:スラヴ戦士のようにマースレニツァを祝おう - ロシア・ビヨンド [2] ボリショイサーカスの源流は、ロシアに渡った幕末日本の大道芸人たちにあった 脈々と息づく「クールジャパン」 | ハフポスト

戦う泡沫 - 終末なにしてますか? もう一度だけ、会えますか? #06, #07

『終末なにしてますか? もう一度だけ、会えますか?』の#06, #07を読んだ。 『終末なにしてますか? もう一度だけ、会えますか?』の#06と#07を読んだ。#06でフェオドールの物語がひとまずは決着して、#07から第二部開始といったところ。 これまでの彼の戦いが通過点のように見えてしまったのがちょっと悲しい。もしも#07がシリーズ3作目の#01になっていたら、もう少し違って見えたかもしれない。物語の外にある枠組みが与える影響は、決して小さくない。 一方で純粋に物語に抱く感情なんてあるんだろうか? とも思う。浮かび上がる感情には周辺情報が引き起こす雑念が内包されていて、やがて損なわれてしまうことになっているのかもしれない。黄金妖精 (レプラカーン) の人格が前世のそれに侵食されていくように。

リアル・シリアル・ソシアル - アイム・ノット・シリアルキラー

『アイム・ノット・シリアルキラー』(原題 "I Am Not a Serial Killer")を見た。 いい意味で期待を裏切ってくれて、悪くなかった。最初はちょっと反応に困るったけれど、それも含めて嫌いじゃない。傑作・良作の類いではないだろうけれど、主人公ジョンに味がある。 この期待の裏切り方に腹を立てる人もいるだろう。でも、万人受けするつもりがない作品が出てくるのって、豊かでいいよね(受け付けないときは本当に受け付けないけれど)。何が出てくるかわからない楽しみがある。