Unix Philosophy

TotT: 2014

McIlory

"This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."
- Douglas McIlroy

Gancarz

  • Small is beautiful.
  • Make each program do one thing well.
  • ...
  • Store data in flat text files.
  • ...

- Mike Gancarz

Gabriel

"worse is better ... simplicity of both the interface and the implementation are more important than any other attributes of the system—including correctness, consistency, and completeness."
- Wikipedia

Many perspectives, one philosophy.

KISS

Brooks

  • Accidental complexity stems from problems we create on our own.
  • Essential complexity is inherent in the problem to be solved.

- Fred Brooks

Demo: Small Superlatives

echo, cat, tr

Demo: Small Superlatives

Demo: Text Everywhere

/etc/passwd, /etc/hosts, /etc/rc2.d/*

Demo: Text Everywhere

Standard Streams

Pipes and Redirects

Demo: Pipes and Redirects

>, <, |, sort, uniq, head

Demo: Pipes and Redirects

Review

  • Unix Philosophy
  • Small Tools
  • Text
  • Standard Streams
  • Pipes and Redirects