UNIX Time-Sharing System: Foreword
Source: https://archive.org/details/bstj57-6-1899 ↗
Full text: Internet Archive ↗
McIlroy's foreword to the Bell System Technical Journal's special issue on Unix contains the most quoted formulation of 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." McIlroy invented Unix pipes, and the foreword is the clearest primary-source statement of the design philosophy that made them possible.
For product direction the three sentences are a compressed operating manual for modular systems design — any product architecture that violates all three will eventually pay for it.
Read alongside Kernighan and Pike for the full environment and Gancarz for the extended principles. Two pages; worth memorising.