Help us understand the problem. What is going on with this article?

「UNIXという考え方―その設計思想と哲学」を読んだ

0. はじめに

こんにちは。都内でエンジニアをしている、@gkzvoiceです。
先日、Twitterのタイムラインに@nukumaro22さんからこんな投稿が流れてきました。

というわけで、早速、Amazonでポチり、読んでみました。

UNIXという考え方―その設計思想と哲学

本書を読んで、覚え書きをしていたので、インターネットに放流したいと思います。
書評っぽい内容ですが、タイトルに書評と付け忘れました。。

1. 本書の目次

  • 第1章 UNIXの考え方:たくさんの登場人物たち
  • 第2章 人類にとっての小さな一歩
  • 第3章 楽しみと実益をかねた早めの試作
  • 第4章 移植性の優先順位
  • 第5章 これこそ梃子の効果!
  • 第6章 対話的プログラムの危険性
  • 第7章 さらなる10のUNIXの考え方
  • 第8章 一つのことをうまくやろう
  • 第9章 UNIXとその他のオペレーティングシステムの考え方

 

2. 本書のおすすめポイント

  • 内容が全く古臭くない
    • 2001年初版発行、私が読んだものは2008年第14刷発行と10年以上前に書かれたもの。
    • 中身は特定の技術にフォーカスしたものではない。
    • むしろ「哲学的」なお話。
    • 時代が変われど変わらない考え方を取り上げているせいか、UNIXの思想は、マイクロサービスの思想やザッカーバーグ氏のあまりに有名な言葉の「Done is better than perfect.」に通じる。
  • 空き時間に読めるほどのコンパクトさ
    • 仕事や勉強の箸休めに読むのもいいかもしれない。

3. 読んで印象に残ったこと

3-1.コマンドの結果をカラとするのには理由がある

  • lsコマンドの結果、該当ファイルがなければ、コマンドの実行者に該当ファイルが存在しないことを"not found"などと伝えるようにするべきかもしれない
    • しかし、その結果を別のコマンドに渡すとなると出力結果はファイル名かカラのほうが処理が単純となる。
    • lsコマンドの使い勝手という面では`一見配慮に欠けた実装(該当ファイルがあれば出力し、なければ出力しない)のほうが開発者にとって都合がいい。

3-2.Worse is better.

  • UNIXの思想のひとつ
  • いまいちピンときていなかったが、@t_wadaさんのTweetを拝見して腑に落ちた

  • 自分の言葉で説明すると、こんな具合
    • 複雑性は増すけどよりよい設計と、それらは劣るけど単純な設計のうち、後者を選択すると、コントリビュートの敷居を下げ、長い目で見ると前者より優れたものとなる。

3-3.Worse is betterの先にあるもの

  • 本書では、Worse is betterについて、このように続けている。

「良くなる」ためには、単純さを犠牲にして完全性を追求しなければならない。そうなるとUNIXはもはやUNIXではなくなる。

3-4.本書の話題から外れるけどLinuxカーネルのメンテナーの仕事内容

  • @komi_edtr_1230さんの投稿を拝見してLinuxカーネルのメンテナーの仕事の内容が気になった
  • これは宿題

P.S. Twitterもやってるのでフォローしていただけると泣いて喜びます:)

@gkzvoice

gkzz
SoftwareDeveloper #python #ansible #docker #stackStorm #geekhouse #gkz
https://github.com/gkzz
ap-com
エーピーコミュニケーションズは「エンジニアから時間を奪うものをなくす」ため、ITインフラ自動化のプロフェッショナルとして、クラウドも含めたインフラ自動化技術で顧客の課題を解決すると同時に、SI業務の課題を解決するプロダクト・サービスを提供するNeoSIer(ネオエスアイヤー)です。
https://www.ap-com.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away