We should create a club/lodge for programmers. If stonemasons created one many years ago just because they knew how to carve stupid stones and build some basic structures, why we still don't have one? This is what we need: ◦ A symbol. ◦ A secret handshake. ◦ A set of rules. ◦ An unknown leader. ◦ An unknown sub-leader. ◦ A library with exceptional computer books, a printed version of world4ch's /prog/ (aka The Old Testament), ancient computers, and other relics. ◦ A list of heretic languages carved in stone.
Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, become general and useful tools.
And then also, from "The Bell System Technical Journal" (1978):
(i) Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features. (ii) Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input. (iii) Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them. (iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.