The Art of UNIX Programming(ジアートオブユニックスプログラミング)
- 著者:
- Eric S.Raymond/長尾 高弘(エリック レイモンド/ナガオ タカヒロ)
- 出版社:
- ドワンゴ
- 出版日:
- 2019年03月08日頃
- ISBN:
- 9784048930680
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Unix の暗黙知を明文化!
本書は Unix の大御所の一人である Eric S. Raymond が書き下ろした Unix プログラミングの入門書です。
しかし、プログラミングの入門書といっても、本書にはほとんどソースコードが出てこないですし、 API を用いたプログラミングの説明もありません。では、いったい本書には何が書かれているのでしょうか?
本書には、 Unix の専門家なら当然のように知っているが、明文化されてこなかった暗黙知が記されています。 Unix のグルが弟子に口頭で伝えてきた知識が、はじめて本の形にまとめられたのです。
本書を読むことで、 Unix というオペレーティングシステムの背後にある思想、 Unix 的プログラミングの考え方が理解できるでしょう。
著者は、本書のことを「 how-to 本」ではなく「 why-to 本」だと述べています。ぜひ、 Unix の「なぜそうするのか?」「なぜそうなっているのか?」を理解してしていただきたいと思います。
序章
第 1 章 思想:大切なのは思想だ
第 2 章 歴史:2 つの文化の物語
第 3 章 対比:Unix 思想と他の OS
第 4 章 モジュール化:簡潔に、単純に
第 5 章 テキスト形式:優れたプロトコルが優れた実践を生む
第 6 章 透明性:光あれ
第 7 章 マルチプログラミング:プロセスを機能別に分割する
第 8 章 ミニ言語:歌いだす記法を探す
第 9 章 コード生成:高い水準で規定する
第 10 章 設定:気持ちよくスタートしよう
第 11 章 ユーザーインターフェイス:Unix 環境におけるユーザーインターフェイス設計
第 12 章 最適化
第 13 章 複雑さ:できる限り単純に、それよりも単純でなく
第 14 章 言語:C すべきか C せざるべきか?
第 15 章 ツール:開発の戦略
第 16 章 再利用:やり直しを避けること
第 17 章 移植性:ソフトウェアの移植性と標準の維持
第 18 章 ドキュメント:Web 中心の世界でコードの説明をする
第 19 章 オープンソース:新しい Unix コミュニティでのプログラミング
第 20 章 未来:危険と可能性
略語集
参考文献
寄稿者紹介
無根的根:不宇先生の Unix 公案
技書の森解説
ソフトウェアの設計原則を語る本は数多くありますが、その原則がどのような文化と歴史の中で蒸留されてきたのかまで遡って描き出す本は稀です。 Eric S. Raymond による本書は、 UNIX が 30 年以上かけて育んできた設計哲学 - 小さく単機能のプログラムをパイプで繋ぐ、テキストを共通のインターフェースにする、透明性を重んじる - を、膨大な実例と失敗談を交えて体系化した一冊です。 2003 年の刊行ですが、ここで語られる原則はマイクロサービスや UNIX 系 CLI ツールの設計に直結しており、時代を超えて参照され続けています。
本書の魅力は、単なるルール集ではなく「なぜそのルールが生まれたか」を歴史的・社会的な文脈から語る点にあります。モジュール性、テキスト指向、設定の分離といったトピックが、具体的なプログラム (sendmail 、 fetchmail 、 Emacs など) の設計判断と失敗を通じて血の通った教訓として伝わります。 Windows や macOS しか知らない読者には馴染みの薄い事例もありますが、設計の「考え方」を読み取る姿勢で臨めば、プラットフォームを問わず得るものがあります。
分量が多く、通読には相応の時間がかかります。辞書的に関心のある章から拾い読みしても成立する構成なので、設計判断に迷ったときに該当章を開く使い方も有効です。
言及 Qiita 記事 (8 件)
Unixの歴史の起源を伝説のゲーム「スペース・トラベル」で遊んで学ぼう!
♡ 259UNIX, ゲーム, devsumi, Unix哲学, SpaceTravel名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた
♡ 248ShellScript, Linux, UNIX, shell, Unix哲学シェルスクリプトを学ぶ人のための「新しいUNIX哲学」 〜 ソフトウェアツールという考え方
♡ 134ShellScript, UNIX, シェル芸, POSIX, Unix哲学コマンドラインツールのショートオプションをどの用途で使うべきか
♡ 58Linux, command, GNU, Linuxコマンド詳細解説 jqコマンドとシェルスクリプトの正しい使い方と考え方 〜 データの流れを制するUNIX哲学流シェルプログラミング
♡ 54ShellScript, UNIX, シェル芸, jq, Unix哲学ファイルや変数から理解するUnixシェルによるプログラミング: パイプ・リダイレクト・シェルスクリプト
♡ 3ShellScript, Bash, Zsh, UNIXコマンド, Unix哲学図解Unix: LinuxやAppleのOSの中枢を知ってもっとコードを書きやすくする
♡ 2Linux, kernel, プロセス, IPC, Unix哲学穴のないチーズは存在しない -- エンジニアのための多層防御設計入門
♡ 0Python, Security, 設計, アーキテクチャ, 障害対策
この本に興味がある方におすすめ
この本に関連
関連記事
ゲームが好きならプログラミングの本も読める
ゲームの攻略本を読んだことがあるなら、プログラミングの本も読めます。攻略本とプログラミング本の共通点から、読書のハードルを下げます。
DevOps 本ガイド - CI/CD とインフラ自動化を学ぶ技術書の選び方
DevOps の文化・原則から CI/CD、IaC、オブザーバビリティまで学べる技術書の選び方と学習順序を紹介します。
障害対応の夜に思い出す、あの本の 1 ページ
本番障害の緊迫した場面で、過去に読んだ技術書の知識が助けてくれた経験はありませんか。「いつか役立つ」知識が「今この瞬間」に変わる読書の価値を考えます。