Reading Note: The Unix philosophy
The Unix philosophy emphasizes building simple, short, clear, modular, and extensible code that can be easily maintained and repurposed by developers other than its creators. The Unix philosophy favors composability as opposed to monolithic design.
Douglas McIlroy is one of the Unix developers. He wrote several famous command-line utilities: spell
, diff
, sort
, join
, graph
, speak
, and tr
McIlroy summarized the best practices of software development for Unix in the following points:
- 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.