今回ご紹介するのはこちらの書籍。
- 作者: Mike Gancarz,芳尾桂
- 出版社/メーカー: オーム社
- 発売日: 2001/02/01
- メディア: 単行本
- 購入: 40人 クリック: 498回
- この商品を含むブログ (145件) を見る
イントロダクション
標準入力、標準出力、標準エラー。
僕はその存在を知りながら、なぜその利用価値に気付かなかったのだろうか。
本書を薦める対象者
内容のご紹介
50年もの間、様々な人を魅了し愛されてきたOS、そうUNIXです。
本書はそんなUNIXの背景にあるソフトウェア設計の思想・哲学を説いている本になります。
全体で150ページ程度と薄めの本です。
目の前にパソコンがなくても読めちゃうので、通学/通勤のお供にもってこいですね。
本書では以下の9つの定理について、著者の体験談や例え話を用いて分かりやすく説明されています。
- [定理1] スモール・イズ・ビューティフル
- [定理2] 一つのプログラムには一つのことをうまくやらせる
- [定理3] できるだけ早く試作を作成する
- [定理4] 効率より移植性
- [定理5] 数値データはASCIIフラットファイルに保持する
- [定理6] ソフトウェアの梃子を有効に活用する
- [定理7] シェルスクリプトを使うことで梃子の効果と移植性を高める
- [定理8] 過度の対話的インタフェースを避ける
- [定理9] すべてのプログラムをフィルタとして使う
また、必須ではないとしつつ、多くの人がどちらかというと賛同する、以下の10の考え方についても言及されています。
※ ()内は僕の補足です
- (1) 好みに応じて(ユーザが)自分で環境を調整できるようにする
- (2) オペレーティングシステムのカーネルを小さく軽くする
- (3) 小文字を使い、短く (コマンド名の話)
- (4) 森林を守る (紙に印刷した操作できないデータはもう死んでいる)
- (5) 沈黙は金 (無駄にメッセージを出力しない)
- (6) 並行して考える (CPUをできるだけだけ忙しく働かせて活用する)
- (7) 部分の総和は全体よりも大きい (再利用するために小さい部品を組み合わせて大きいアプリを作る)
- (8) 90パーセントの解を目指す
- (9) 劣る方が優れている (単純さと完全性の優先度の話)
- (10) 階層的に考える
原著は1995年発行で、翻訳版の本書は2001年初版発行となっており、もはや古典です。
従って本書での具体例は古く、人によっては馴染みのないものかもしれません。
しかし、主張する考え方はシンプルでいて力強く、多くの人にとって有用なものです。
ソフトウェア開発者だけでなく、他の仕事をされている方にとっても、きっと良い刺激になるかと思います。
感想など
僕が本書に出会ったのは社会人になって数年後だったけど、Linuxに初めて触れた学生の頃に読んでおきたかった一冊。
僕は仕事でUNIX系OSに触れることはほぼ無い。
会社では支給されているWindowsマシンしか使えない。
ソフトも勝手にあれこれインストールして良いわけではなく制約も多い。
そんなWindowsユーザの僕にとって本書で一番印象深かったことは、
- 人ではなく他のプログラムと対話するプログラムを作るべき
- そのプログラム間のデータの受け渡しには標準入出力を使用するべき
という旨の主張だった。
標準入力、標準出力、標準エラー。
ほとんどのプログラミング言語の入門書で、最初の方に紹介されているであろうこの機能。
僕はその存在を知りながら、なぜその利用価値に気付かなかったのだろうか。
これらはUNIXに限らずWindowsでも勿論使える。
ツールで処理するファイルを指定してもらう為に、ファイル選択ダイアログなんて要らない。
リダイレクトして標準入力でいいじゃないか。
そこから次のプログラムにデータを渡す為に、中間ファイルや共有メモリなんて要らない。
標準出力からパイプでつなげればいいじゃないか。
そう、テキストデータならね。
まぁ、業務では何だかんだで文字を扱うことが多いので、様々な場面において良い指針になると思う。
Excelファイルだって中身は大半テキストだしね!
今ではMicrosoft公式のWSL(Windows Subsystem for Linux)というものが登場し、UNIXの豊富なコマンド群とシェルスクリプトがWindows10で使える。
本書の哲学によって生み出される恩恵を、Windowsユーザも存分に享受できる環境が整いつつある。
もし本書を読んだことがない方は、来たるべき全人類UNIXer化時代に向けて、時もOSも越えてきた哲学に一度触れてみてはいかがだろうか。
- 作者: Mike Gancarz,芳尾桂
- 出版社/メーカー: オーム社
- 発売日: 2001/02/01
- メディア: 単行本
- 購入: 40人 クリック: 498回
- この商品を含むブログ (145件) を見る