0
0

More than 3 years have passed since last update.

[プリンシプルオブプログラミング] UNIX哲学

Posted at

UNIX哲学

UNIX開発の根底にある哲学です。
9個の定理でまとめられています。

  • 小は美なり
  • 一つ一つ仕事
  • 速行プロトコル
  • 効率性より移植性
  • データはテキスト
  • レバレッジ・ソフトウェア
  • シェルスクリプト活用
  • 対話インターフェース回避
  • フィルタ化

小は美なり

  • 小さいソフトウェアは扱いやすく、美しい
    • 理解しやすい
    • 保守がしやすい
    • マシンリソースを食わない

1つ1仕事

  • ソフトウェアをピュアに保つ
  • 1つのソフトウェアに1つの仕事を集中して行わせる

速行プロトタイプ

  • できるだけ早くプロトタイプを作成する
    • プロトタイプで確度を高める
      • 方針を決めることでコードを作成しやすくする
      • 要件不備を早い段階で見つけやすい

効率性より移植性

  • 効率性より移植性の高いコードを書く
  • ソフトウェアの価値を持続させるコードを書く
  • ハードウェアに依存しない

データはテキスト

  • バイナリで持つよりテキストファイルで持つ
    • バイナリでは理解しづらく扱いづらい
  • テキストファイルは万能
    • 標準規格を使うようにする
      • json,xml,yml...

レバレッジ・ソフトウェア

  • ソフトウェアを梃子の原理のように扱う
    • 少ない労力で巨大な成果
  • 手作業を自動化する

シェルスクリプト活用

  • シェルスクリプトでソフトウェアを接着する
    • シェルスクリプトをグルー言語として活用する

対話インターフェイス回避

  • ユーザーの入力を待つような処理を避ける

フィルタ化

  • ソフトウェアをフィルターとして設計する
    • ソフトウェアは入出力を扱うフィルター
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0